Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "An Overview of Systems and Networking Research at Microsoft Research Michael B. Jones Systems and Networking Research Group, Microsoft Research April 1999."— Presentation transcript:

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

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

3 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

4 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

5 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

6 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 1996-1997 with NTT in Yokosuka, Japan

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

8 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

9 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

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

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

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

13 Current Projects Grouped by Research Areas

14 Networking Projects

15 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)

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 Distributed Computing Projects

25 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

26  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

27 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

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

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

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

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

32 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

33 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

34 Operating Systems Projects

35 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

36 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

37 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

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

39 Real-Time Systems Projects

40 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

41 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

42 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)

43 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

44 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

45 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

46 For More Information  Systems and Networking Research Group web pages:  http://research.microsoft.com/sn/


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

Similar presentations


Ads by Google