An Overview of Systems and Networking Research at Microsoft Research Michael B. Jones Systems and Networking Research Group, Microsoft Research April 1999.

Slides:



Advertisements
Similar presentations
Vassal: Loadable Scheduler Support for Multi-Policy Scheduling George M. Candea, Oracle Corporation Michael B. Jones, Microsoft Research.
Advertisements

IEEE INFOCOM 2004 MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card.
Threads, SMP, and Microkernels
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Distributed components
The Problems You’re Having May Not Be the Problems You Think You’re Having: Results from a Latency Study of Windows NT John Regehr — University of Virginia.
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 13: Troubleshoot TCP/IP.
City University London
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Nooks: an architecture for safe device drivers Mike Swift, The Wild and Crazy Guy, Hank Levy and Susan Eggers.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Chapter 13 Embedded Systems
CSCI 3753 Operating Systems Spring 2005 Professor Rick Han Department of Computer Science University of Colorado at Boulder.
The Architecture of Transaction Processing Systems
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Hands-On Microsoft Windows Server 2003 Networking Chapter 1 Windows Server 2003 Networking Overview.
COM S 614 Advanced Systems Novel Communications U-Net and Active Messages.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Installing software on personal computer
Module – 7 network-attached storage (NAS)
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
© 2006, The Technology FirmWWW.THETECHFIRM.COM 1 WINDOWS XP SUPPORT TOOLS.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Computer System Architectures Computer System Software
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
Managing Windows Server 2008 R2 Lesson 2. Objectives.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
1 Understanding the TCP/IP Protocol Suite Industry standard Enables enterprise networking and connectivity.
CHAPTER FOUR COMPUTER SOFTWARE.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
COMP1321 Digital Infrastructure Richard Henson February 2014.
DCOM (Overview) by- Jeevan Varma Anga.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 13 Understanding and Installing Windows 2000 and Windows NT.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Compatibility and Interoperability Requirements
Srihari Makineni & Ravi Iyer Communications Technology Lab
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Increasing Web Server Throughput with Network Interface Data Caching October 9, 2002 Hyong-youb Kim, Vijay S. Pai, and Scott Rixner Rice Computer Architecture.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Introduction to Microsoft Windows 2000 Integrated support for client/server and peer-to-peer networks Increased reliability, availability, and scalability.
4061 Session 25 (4/17). Today Briefly: Select and Poll Layered Protocols and the Internets Intro to Network Programming.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Unit OS A: Windows Networking A.4. Lab Manual. 2 Copyright Notice © David A. Solomon and Mark Russinovich These materials are part of the Windows.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
WINDOWS NT Network Architecture Amy, Mei-Hsuan Lu CML/CSIE/NTU August 19, 1998.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
COMP1321 Digital Infrastructure Richard Henson March 2016.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Networking Week #10 OBJECTIVES Chapter #6 Questions Review Chapter #8.
Introduction to Operating Systems Concepts
Computer System Structures
Windows 95 & 98 Steve Boyle Mike Forster Maggie Hamill Nancy O’Brien.
CS490 Windows Internals Quiz 2 09/27/2013.
Chapter 3: Windows7 Part 4.
Software Defined Networking (SDN)
Presentation transcript:

An Overview of Systems and Networking Research at Microsoft Research Michael B. Jones Systems and Networking Research Group, Microsoft Research April 1999

Microsoft Research A quick primer  Founded in 1991  Goal: Pursue strategic technologies for Microsoft  Original research groups:  Natural Language Processing  Operating Systems  Programming Languages

Microsoft Research  Over 300 researchers in 27 areas  Speech, Decision Theory, Graphics, Databases, to Statistical Physics  Research lab locations:  Redmond, San Francisco, Cambridge (UK), Beijing  Internationally recognized research teams  Hundreds of publications, presentations  Leadership roles in professional societies, journals, conferences

Fastest Growing CS Research Organization In The World  Grew by factor of four from ’94 to ’97  Decided in ’97 to grow by a factor of three in three years  200 in FY ’97 => 600 in FY ’00, primarily in Redmond  Major impact on Microsoft products  Virtually all MS products shipped today use technology from Microsoft Research

Systems and Networking Research Group  One of the original three research groups at Microsoft Research in Redmond  Formerly called the “Operating Systems Research Group”  Name changed in 1998 to explicitly include networking  Group presently 15 members  Working in four areas

Past Projects  Tiger  Scalable, fault-tolerant multimedia file system using commodity hardware  Rialto  Real-time kernel enabling predictable concurrent execution of independent real- time programs  Both were used in Microsoft's Interactive TV trial in with NTT in Yokosuka, Japan

Current Research Areas  Networking  Distributed Computing  Operating Systems  Real-Time Systems

Group Members and Current Research Areas  Victor Bahl – Net  Bill Bolosky – OS  Gerald Cermak – Dist. Sys.  Scott Cutshall – OS  Rich Draves – Net  John Douceur – OS  Alessandro (Sandro) Forin – Net  Johannes Helander – OS  Galen Hunt – Dist. Sys.  Mike Jones – Real-Time Sys.  Steve Levi – Dist. Sys.  Venkat Padmanabhan – Net  Marvin Theimer – OS  Yi-Min Wang – Dist. Sys.  Brian Zill – Net

Networking Projects  Location Aware Systems and Services  Hardware Adapter for Light-Weight Mobile Networking  IPv6  Automatic Network Configuration  High Performance & Sys. Area Networking  DCOM over SAN  TCP Fast Start, Network Performance Improvement  Multicast-based Data Dissemination

Distributed Computing Projects  Millennium  Distributed, Fault-Tolerant Applications  Automatic Application Partitioning  Distributed Java Virtual Machine

Operating Systems Projects  Componentized System Architecture  Single-Instance Store Filesystem  Unobtrusive Background Computation  Transactional Filesystem

Real-Time Systems Projects  Real-Time Scheduling  Real-Time Latency Measurement

Current Projects Grouped by Research Areas

Networking Projects

Location Aware Systems and Services  In-building location-aware system  Wireless mobile nodes precisely compute their geographic location  Enable new class of mobile applications  E.g., use nearest printer, etc.  Victor Bahl, Venkat Padmanabhan, Turner Whitted, Josh Broch (CMU)

Hardware Adapter for Light- Weight Mobile Networking  MCoM (Mobile Communicator) Project  Light-weight devices network in both ad-hoc and controlled manner  Investigates protocol and systems issues:  Energy conservation  Multi-hop routing  In presence of link failures, mobility  Victor Bahl, Turner Whitted

IPv6  Internet Protocol Version 6 (IPv6) implementation for Windows NT  Freely downloadable  Numerous v6 utilities also available  Multi-homing issues  Rich Draves, Brian Zill, ISI (Allison Mankin, etc.)  Published in ’98 USENIX NT

Automatic Network Configuration  Algorithms for auto-configuring IP networks  Address and subnet assignment that optimize the network’s efficiency  Rich Draves, Chris King (Northeastern), Cheenu Venkatachary (WUSTL)  Published in InfoCom ’99

High Performance & System Area Networking  High-performance networking under NT  VIA-like and memory-like interconnects  It’s WinSock! No need to rewrite apps  No loss of performance  Easily extensible (RDMA, registration, …)  Gigabit Ethernet Jumbo Frames  TCP Switch  Layered WSP over SAN vendor’s WSP  Sandro Forin, Johannes Helander, NT  Published at DARPA NT Workshop

Hybrid SAN-TCP/IP Architecture User Kernel Winsock AFD MsAfd TCP/IP Switch TDI App Winsock App Switch SAN WS Provider SAN NDIS MiniPort SAN TDI Provider SAN NIC Winsock AFD MsAfd TCP/IP TDI App Winsock App SAN NIC SAN MiniPort SAN WS Driver TDI NDIS Winsock SPI TDI

DCOM Over SAN  Millennium Falcon project  Implement high-performance distributed object systems  For clusters of servers  Connected by SANs  Take full advantage of user-mode nets  Current implementation based on DCOM and VIA  Yi-Min Wang

TCP Fast Start, Network Performance Improvement  Reuse information learned in past  Rather than rediscover it each time  E.g., TCP congestion window  Venkat Padmanabhan, Randy Katz (Berkeley)  Published at Globecom ’98 Internet Mini-Conference

Multicast-based Data Dissemination  Quantify potential benefits of multicast for information dissemination  Based on HTTP logs  Evaluate algorithms/heuristics for deciding which data should be multicast  Venkat Padmanabhan

Distributed Computing Projects

Distributed, Fault-Tolerant Applications  Millennium Project  Unifying vision behind several individual prototype projects  Galen Hunt, Yi-Min Wang, Gerald Cermak, Johannes Helander, Rick Rashid  Initial position paper published at HotOS-VI, 1997

 Problem  Building distributed, fault tolerant applications is too hard, costs too much  Goal  Raise the level of abstraction provided by the operating system  Individual computers, file systems, networks unimportant to component builders Millennium

App NT App COM+ App Millennium: Raise the Level of Abstraction  Maintain single system image.  Transparent invocation, migration, and recovery.  Individual computers, file systems, and networks become unimportant to application developers. Millennium Application

Automatic Application Partitioning  Millennium Coign Project  Galen Hunt  Published in OSDI ’99

Before:After: Coign: Automatic Distributed Partitioning  Converts local COM applications into distributed client-server applications without source code.

The Plan: 1. Find Components in Application Binaries 2. Identify Interfaces and Measure Communication 3. Partition and Distribute Components

COP: Component Object Proxy  Transparently remote Win32 API calls  Factor Win32 interface  Automatically create DCOM interfaces  Transparently insert proxy objects  Galen Hunt, Gerald Cermak

Millennium Continuum  Provides single system image for Windows API  Automatic object placement and migration at run-time  Language neutral  At least Visual Basic, C, C++, Java  Based on COM+  Galen Hunt, Gerald Cermak, Rick Rashid

Distributed Java Virtual Machine  Millennium Borg project  Makes multiple JVMs appear to be one  Unmodified Java programs may run as distributed applications  Transparent distribution, migration  Johannes Helander

Operating Systems Projects

Componentized System Architecture  MMLite Project  Kernel object architecture stressing adaptability, minimalism, reusability  Many normally “built-in” components selectable, loadable  E.g., Virtual Memory, IPC  Johannes Helander, Sandro Forin  Published at ’98 SigOps European Workshop

Single-Instance Store Filesystem  Enables single on-disk instance of files with multiple logical copies  Sharing transparent to applications  Replicas found in background, coalesced  Bill Bolosky, Scott Cutshall, John Douceur, NT filesystem group  Planned to ship with Windows 2000

Unobtrusive Background Computation  “How to be Really Nice”  Background processes that don’t interfere with foreground work  Even if neither CPU-bound  Based on progress metrics  Back off when statistically significant slowdown observed  John Douceur, Bill Bolosky

Transactional Filesystem  Research version of NTFS with transactional semantics  Marvin Theimer

Real-Time Systems Projects

Real-Time Scheduling  Scheduling abstractions enabling predictable concurrent execution of independent real-time programs  Mike Jones, John Regehr (Virginia), formerly Daniela Ro  u (GA Tech), Marcel Ro  u (GA Tech), George Candea (MIT)  Published in ’96 SigOps, ’97 SOSP, ’98 & ’99 USENIX Windows NT

Real-Time Latency Measurement  Understand, fix sources of long thread scheduling latencies in NT  Mike Jones, John Regehr (Virginia)  Published in ’98 NOSSDAV & ’99 HotOS

Problem: “Unimportant” Background Work  DEC dc21x4 PCI Fast 10/100 Ethernet  6ms periodic DPC every 5s  Autosense processing  Most of 6ms in five 0.88ms calls to routine that reads device register that:  Writes a HW register – 1.5µs  Stalls for 5µs  Writes HW register again – 1.5µs  Stalls for 5µs  Reads a HW register – 1.5µs  Stalls for 5µs  And does this 16 times! (once per bit)

Another Long DPC: Intel EE 16  Intel EtherExpress 16 ISA Ethernet  17ms DPC every 10s  Card reset for no received packets Amusing Observation  Unplugging Ethernet makes latency worse!  Despite conventional wisdom to the contrary

Even Worse: Video Cards  Video cards and drivers conspire to hog the PCI bus  Dragging large window locks out interrupts for up to 30ms  Obliterates sound I/O, for instance  Can set registry key to ask drivers to behave, but not default  No problem when set correctly  Manufacturers’ motivation: WinBench ~ 5% improvement

Video Card Misbehavior Details  Don’t check if card FIFO full before write  Eliminates one PCI read  Stalls PCI bus if full to prevent overflow  Uses “PCI disconnect” feature

For More Information  Systems and Networking Research Group web pages: 