Presentation is loading. Please wait.

Presentation is loading. Please wait.

How Is Life In Microsoft Bartek Nowierski Software Development Engineer, Hyper-V Microsoft Corporation.

Similar presentations


Presentation on theme: "How Is Life In Microsoft Bartek Nowierski Software Development Engineer, Hyper-V Microsoft Corporation."— Presentation transcript:

1 How Is Life In Microsoft Bartek Nowierski (BartN@Microsoft.com) Software Development Engineer, Hyper-V Microsoft Corporation

2 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

3 About Me Before Microsoft Graduated From Poznan University of Technology (2004) Organizer of Programming Contests Mistrzostwa Wielkopolski w Programowaniu Zespołowym Wiosenny Turniej w Programowaniu Zespołowym At Microsoft – Developer Intern (5.5 years ago) Started in Windows Server Performance Team (4.5 years ago) Currently in Hyper-V Team (Hypervisor)

4 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

5 Work Environment at Microsoft Flexible work hours Dress casually Super nice people Free beverages (incl. coffee and Coke) Cafeterias on campus (cheaper food) Mostly offices, almost no cubicles Chill out areas (ping pong, Xbox,...) Morale events (ski trip, picnic, boat cruise, cinema, bowling,...)

6 Employee Benefits Both Interns and Full Time Employees Free membership in Pro Sports Club Prime Card discount (food, electronics,...) Full Time Employees Great medical insurance (incl. family) Life and disability insurance Low prices on Microsoft software Discount on Microsoft stock Lawyer support Interns Lots of intern events

7 Relocation Benefits Interns Microsoft handles visa and flight (incl. family) Cheaper fully furnished apartment or money for finding your own Support with rental car or bike Full Time Employees Microsoft handles visa, flight and transport of belongings (incl. family) Free temporary housing (furnished) and rental car Extra cash for initial expenses A person to to introduce you to the town (banks, car dealers, apartments, etc.)...

8 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

9 Life In Redmond Super nice people Peaceful and quiet town (~80k people) Parks, a lake, a river 2 Irish pubs...

10 Life Near Redmond Pubs and clubs in Seattle Skiing (just 45 minutes away)

11 Life Near Redmond (cont.) HikingLakes

12 National parks Ocean

13 Life Near Redmond (cont.) 2-3h to Vancouver (2010 Winter Olympics)...

14 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

15 Windows Life Cycle Milestones Development milestones (new features) Code complete (no more features, just fixing bugs) Releases to partners and vendors Beta RC (Release Candidate) RTM (Released To Manufacturer) Further releases SP (Service Pack) – mainly fixes R2 (2nd Release) – small incremental set of features

16 Client vs. Server Client Desktops and laptops (few processors, limited memory, slow hard drives) Response time oriented Focused on reducing memory footprint OS releases: XP, Vista (Windows 7 is coming) Server Big server machines (many processors, plenty of memory, multiple striped SCSI hard drives) e.g. Webservers/DB servers processing M requests/sec Throughput oriented Focused on scalability OS releases: W2k3, W2k8 (W2k8 R2 is coming)

17 Cool Windows Features Indexing and Search Power Shell ETW (Event Tracing for Windows) SuperfetchThreadpool User Mode Scheduling...

18 Interesting Windows Facts 55 GB source code tree (including tools) Windows kernel: 63 MB sources, 2M lines Hypervisor: 7 MB soruces, 270k lines 7000 binaries 40000 binary-to-binary dependencies 9h to build Windows on 16 processor server 1h for staging (installation image) 5h to produce 2351 unique.iso images 8h to run verification tests

19 Helpful Development Tools Source Depot – version control system Product Studio – bug database WTT (Windows Test Technology) Automated OS installation & starting test jobs Kernel debugger – diagnosis Perfmon, kernrate, IceCap – performance Application & driver verifier...

20 Windows Branches RI – Reverse Integration (up) Lots of testing Very long process FI – Forward Integration (down) Assumes quality of parent branch Huge payload – automation main branch_Abranch_Bbranch_C... aggregate branches branch_B_Xbranch_B_Y... feature / development branches FI RI

21 Testing Windows Each developers tests their own code Each team tests its components Whole Windows testing BVTs (Basic Verification Tests) Application compatibility tests Performance gates Dependency checks StressSelfhosting Security checks, and so on... Checked (debug) vs. Free (release) build

22 Security Awareness Developers take security classes/books Code/design reviews by security team Prefix & Prefast & FxCop – static code analysis NX bit (No eXecute) /gs – cookie on stack to protect return address ASLR (Address Space Layout Randomization) PatchGuard – protects key kernel resources Code Integrity – signing...

23 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

24 Windows Server 2008 VSP Windows Kernel Hyper-V Architurcture Applications Non- Hypervisor Aware OS Windows Server 2003, 2008 Windows Kernel VSC VMBus “Designed for Windows” Server Hardware Windows hypervisor Xen-Enabled Linux Kernel Linux VSC Hypercall Adapter Parent Partition Child Partitions VM Service WMI Provider VM Worker Processes OS ISV / IHV / OEM Microsoft Hyper-V Microsoft / XenSource User Mode Kernel Mode Provided by: Ring -1 IHV Drivers VMBus Applications

25 Hypervisor  The hypervisor restricts itself to managing a minimum set of hardware  Processors  Local APICs  Constant-rate system counter  System physical address space  Focus is on scheduling and isolation  Requires hardware support (VMX / SVM) Hardware Windows hypervisor Parent Partition Server Core Apps OS 1OS 2 Apps Child Partition

26 Hardware Windows hypervisor Parent Partition Server Core Apps OS 1OS 2 Apps Child Partition  In Windows virtualization, the parent partition manages the rest  IHV drivers  Processor power management  Device hot add and removal  New drivers are not required Hardware Management

27 Windows Virtualization Architecture Parent Partition Child Partitions Kernel Mode User Mode Virtualization Service Providers (VSPs) Windows Kernel Server Core IHV Drivers Virtualization Service Clients (VSCs) Windows Kernel Enlightenments VMBus Windows hypervisor Virtualization Stack VM Worker Processes VM Service WMI Provider Applications “Designed for Windows” Server Hardware Provided by: Windows ISV OEM WindowsVirtualization

28 Integration Components Storage and networking VSCs perofrmance Synthetic video and mouse e.g. high screen resolution, mouse capture Time sync keep the system time up to date Heartbeat information if VM is still alive

29 Hyper-V Feature Highlights Windows Server 2008 32-bit (x86) & 64-bit (x64) guest OSes 16 processor host (24 since SP1) 4 VP and 64 GB memory in guest OSes Snapshot, Save&Restore Enlightened devices Windows Server 2008 R2 Live Migration 32 processor host (working on more) Processor power management support Second Level Address Translation (SLAT, a.k.a. NPT/EPT) Networking performance: TCP Offload & Jumbo Frame support Looking into Dynamic Memory Device Assignment

30 Supported Systems Guest OS Support On Windows Server 2008 Hyper-V Windows Server 2008 – 4 VP Windows Server 2003 SP2 & R2 SP2, Windows Vista SP1, Windows XP SP3 – 2 VP Windows 2000 Server SP4, Windows XP SP2 – 1 VP SUSE Linux Enterprise Server 10 – 1 VP Once testing is done Red Hat Solaris Non-Microsoft Hypervisor Support Windows Server 2008 as guest OS Citrix XenServer 5 VMware ESX 3.5

31 Guest OS Examples

32 Virtualization Resources Microsoft Virtualization http://www.microsoft.com/virtualizationHyper-Vhttp://www.microsoft.com/hyper-v System Center Virtual Machine Manager http://www.microsoft.com/scvmm Virtualization APIs Virtual Server COM Interface http://msdn2.microsoft.com/en-us/library/bb309134(VS.85).aspx Virtual Hard Disk Format http://technet.microsoft.com/en-us/virtualserver/bb676673.aspx Hypervisor Functional Specification http://www.microsoft.com/downloads/details.aspx?FamilyId=91E2E518-C62C- 4FF2-8E50-3A37EA4100F5&displaylang=en Hyper-V WMI Provider http://msdn2.microsoft.com/en-us/library/cc136992(VS.85).aspx

33 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

34 My Interesting Projects Address Virtualization in Hyper-V Profile Guided Optimization (PoGO) Windows Memory Manager and Scheduler performance Multicore Profiling tools (tracing)

35 Address Virtualization (Shadow Page Tables) Guest Physical Address Space Page 70 System Physical Address Space Hypervisor Map Page 150 Virtual Address 1160 Guest Page Tables (GPTs) GPT 1 GPT 2 Virtual CR3 7070 20 GPT 1 GPDT SPDT Shadow Page Tables (SPTs) SPT 1 150150 CR3

36 Profile Guided Optimization (PoGO) Process Create instrumented binary Collect profile data on your benchmarks Feed the data to optimize the binary

37 Profile Guided Optimization (PoGO) Optimizations Educated inlining Move the „cold” code away Branch straightening...Benefits 5-10% faster code on average Up to 50% on some scenarios

38 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

39 Applying To Microsoft Yes, you can do it! Don’t be shy! Yes, you can do it! Don’t be shy! Recruiting process Create your resume/CV (I can review it) Screening (not too technical) Loop of 4-5 technical interviews Problem solving (algorithmical), linked lists,... Positions Software Development Engineer Software Development Engineer in Test Program Manager

40 Interesting Projects/Products F# – functional, ML-like language for.NET IronPython – Python for.NET Transactional memory ScreenWalker – internal UI testing automation Danger Mobile Information Worker Solutions Microsoft Sync (Ford)...

41

42 Alternative Development Centers Canada (Vancouver) – various projects Ireland (Dublin) – various Denmark (Copenhagen) – Dynamics IAESTE program – 1 year internship France (Paris) – Musiwave, STC Switzerland (Zurich) – Office Comm. Platform England (London) – various Norway (Oslo/Tromso) – FAST, Live Search Germany (Munich) – STC BelgiumSerbia Also Middle East and Asia

43 Presentation Agenda Introduction Work at Microsoft Life in/near Redmond Developing Windows About Hyper-V My Interesting Projects Recruiting Process Career Guidelines

44 What Now? Learn English! Work experience Bigger student or open source projects Aim at C, C++, C#, Java (web development counts less) Programming Contests Imagine Cup ACM Collegiate Programming Contest (and alike, e.g. Akademickie Mistrzostwa w Progr. Zespołowym) Top Coder

45 CV Suggestions Concise (1 page, 2 if achieved much) Main 2-4 past employments/projects Shortly about the project (1-2 sentences) Your position/role Technologies used Brag if successful Achievements/awards (the most important only) Education University name, major, minor if any Pursued degree and graduation date(!) Do not say IT, say Computer Science(!) Ok to skip high school Skills – list languages(!), ok to add non-technical skills Customize for target position/company Hobbies

46 Thank You!!! Bartek Nowierski (BartN@Microsoft.com) Software Development Engineer, Hyper-V Microsoft Corporation

47 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

48 Backup slides Bartek Nowierski (BartN@Microsoft.com) Software Development Engineer, Hyper-V Microsoft Corporation

49 Employee Compensation Interns Generous salary Full Time Employees Even more generous salary Yearly bonus Stock awards (every year for 5 years)

50 Guest Kernel Enlightenments Background Page tables are cached in TLB Hypervisor implements virtual TLB – a miss is costly OS must flush TLB after changing page tables INVLPG – flushes single address from TLB MOV CR3 – switches address space (frequent) MOV CR3 – flushes address space (rare) Enlightened hypercalls HvFlushVirtualAddressList – flushes many addresses HvSwitchAddressSpace – only switch, no flush HvFlushAddressSpace – flush address space (rare) Other enlightenments E.g. MSRs for efficient APIC access


Download ppt "How Is Life In Microsoft Bartek Nowierski Software Development Engineer, Hyper-V Microsoft Corporation."

Similar presentations


Ads by Google