First taste in late October and early November

Oct 11, 2008 11:28 GMT  ·  By

Windows 7 more so than any other Windows client will be at the core of the transition to manycore hardware. This is valid for both hardware manufacturers as well as for software developers, and Microsoft plans to focus on both groups come the Professional Developers Conference 2008 and the Windows Hardware Engineering Conference 2008 in Los Angeles at the end of October, respectively at the start of November. Of course that, for the Redmond company, parallel computing is not just about Windows, or Windows 7 in particular, but also about the solutions delivered on top of its proprietary platform in order to permit developers to built parallel applications.

 

Via one of the sessions at WinHEC, Microsoft is promising to get involved in the manycore shift to the point where it will make “parallel computing personal. “In the era of multicore processors, parallel programming is key to unlocking the power of multiple CPUs that enable immersive new end-user experiences that are impossible on today's PCs,” Microsoft revealed, acknowledging that the transition is already happening. “We'll highlight efforts in Visual Studio and Windows as examples of how Microsoft is addressing the problems that concurrency introduces through rich support in future tools and operating systems for threading, synchronization, scheduling, and resource management. These efforts enable software developers to more effectively exploit the proliferation of cores in modern processor designs,” the company added.

 

But ahead of WinHEC 2008, Microsoft will reveal its parallel efforts at PDC 2008. The Redmond giant has no less than nine sessions lined up on parallelism, but the fact is that the discussion related to parallel computing will start ahead of the conference. In the video embedded at the bottom of this article, Stephen Toub, a Senior Program Manager Lead on the Parallel Computing Platform, talks about the events which will precede PDC 2008. One of the two symposia planned for PDC2008 is set up to deliver “a detailed look at how multi-core architectures will unleash computing power and enable innovation”.

 

“The manycore shift provides exciting opportunities for developers to create innovative natural and immersive computing experiences that harness the performance power of multi- and manycore processors. Multi- and manycore architectures have immediate applications in games, digital media, computer-aided-design, business intelligence, data mining and virtual worlds,” Microsoft revealed.

 

Raw performance, single-core to multi-core

 

The leap to multicore is the natural evolution of hardware in the race for superior performance. Multicore is in fact synonymous with not only boosted performance, but also a new level of energy-efficiency and inherently, a fresh standard in computing experiences. But this would not be possible without Windows and the .NET runtime supporting concurrency and multicore programming. In the equation of Windows as a platform and the Windows tools for software developers, threading and synchronization go hand in hand with taking advantage of new multicore and manycore architectures.

 

Just ahead of the PDC, Microsoft plans to discuss “mechanisms to create, coordinate, and synchronize among threads; best practices for concurrent libraries and apps; and techniques for improving scalability, including lock-free algorithms. Focus will be on .NET programming, including the next generation of parallel programming support within the Framework, but Windows internals and C++ nuggets will be discussed too”.

 

Windows 7 & Co.

 

Microsoft is tailoring not only the next iterations of the Windows client and server operating systems, but also its suite of development solutions to better support parallel processing. However, at this point in time, the Redmond giant has said little about the changes it plans to implement under the hood of Windows Vista's successor. Vista itself is a Windows client marked by the transition to multicore. The operating system does play nice with multiple core processors, but in no way was it built to deal with 8+ core CPUs. In this context, Microsoft is expected to take its platform to the next level with Windows 7.

 

At PDC 2008, the company promised to “describe the key architectural changes [it] is making to Windows as an application platform that will enable it to execute parallel software efficiently”. This in addition to the “issues of applying multi-core processors to general-purpose software and the key impacts this will have on developers and platforms,” and the “set of 'hard problems' that must be addressed to enable parallel software to be deployed with the same reliability and productivity demanded of mainstream software”.

 

The bottom line is that manycore and multicore hardware architectures are nothing without support from Microsoft and the ecosystem of developers building solutions around the Windows platform. At PDC 2008, the Redmond giant will unveil its roadmap to make parallel computing around Windows a reality. In this regard, the evolution represented by Windows 7 will be accompanied by that of Visual Studio to the 2010 version and by that of .NET Framework to v4.0.

 

“Presenters from Microsoft and Intel will discuss the innovative opportunities that can be opened up by highly parallel applications such as immersive, graphically intensive virtual environments coupled with natural human/computer interfaces and realistic physics. They will discuss how Microsoft and Intel are working together to provide complementary offerings to lead the developers and the PC industry into the manycore era,” Microsoft promised.

 

Microsoft plans a comprehensive effort to drive forward the adoption of multicore and manycore. On top of the modifications planned for Windows 7, the software giant will make available what it referred to as an “integrated stack of technologies” aimed at developers. In this regard, what is vitally important for Microsoft is to move away from Win32. Fact is that Win32 is incapable of sustaining the multicore evolution which demands concurrent and asynchronous processing. Windows 7 will push Win32 to the background and bring managed code to center stage. At the same time, Microsoft will have to implement a new set of application programming interfaces for parallel programs, but also new tools complete with libraries for developers, as well as programming models and language extensions, plus a runtime focused on concurrency. All for the sake of parallel programming.

 

“In Microsoft Visual Studio 2010, Microsoft is investing in new technologies such as the Concurrency Runtime, .NET Framework libraries such as the Task Parallel Library (TPL), Parallel LINQ (PLINQ) and the Parallel Pattern Library (PPL) for developing native applications with C++ and debugging and profiling tools. Additionally, Microsoft is making ongoing investments in existing technologies such as Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). Microsoft’s CCR and DSS Toolkit 2008 provides new technologies for building loosely-coupled, highly concurrent, and distributed applications,” the software company added.

 

Converting the ecosystem to mainstream multicore

 

But at the same time, it's not really up to the Redmond giant, the software developers, or to hardware manufacturers to make manycore and multicore architectures maintream. Despite the undeniable advantages, the new technology will only become ubiquitous when the immense, 1 billion and growing, Windows ecosystem is ready for a change. This will in its turn catalyze new offerings from original equipment manufacturers and system builders. 2008 marked a turning point in the migration to 64-bit computing, according to Microsoft. A turning point that is synonymous with x64 becoming mainstream. But the existing user install base has sufficient momentum to delay the large scale adoption of 8+ core computers for years to come. Just as it was the case with 64-bit.

PDC08: Parallelism Track and PreCon with Stephen Toub