September 5 2010




 
Search Blog Entries:



What is this?

Article Details
 
WinHEC 2005 - Part 3

Seattle, April 27, 2005 – Today is already the last day of WinHEC. We start off by looking at necessary software modifications to make the most out of multi-core processors. After that we cover a topic that was announced big during last year’s WinHEC, Web Services for Devices. Since last year standards have been finalized and working solutions are available. Because of the importance of mobile computing, we finally take a look in what is needed to built tomorrow’s mobile PC’s.

 

The importance of multithreading

 

As often during a conference there are time slots when there are many interesting presentations and other time slots with seemingly no interesting presentation at all. Sometimes though, a pleasant surprise arises. That was definitely true when I attended Richard A. Brunners presentation entitled “Maximizing Desktop Application Performance on Dual-Core PC Platforms”. Brunners works for AMD. He gave a great presentation, explaining the challenges for software developers to get the most performance out of with dual-core platforms. All of a sudden I was listening to somebody talking about multithreading, one of my favorite topics. Of course this makes a lot of sense, to get the most out of multiple processors and thus also out of dual-cores applications should be split in several threads. What was shocking for me though was the remark that Brunner made about desktop application developers. According to him there are not many developers experienced in multithreaded application development and, with no doubt, multithreading does add significant complexity to applications. So finally there is an area where desktop developers can be jealous of device developers. Especially those of us working in industrial automation, dealing with real-time functionality often use multithreading. Usually I am jealous of desktop developers, often having limitless machine resources while we are struggling with memory, performance etc. It feels like justice is here.

 

Today’s different multiprocessor techniques

 

As Brunner explained, right now there are three different ways to have multiple processors in the same system.

 

·         Symmetric MultiProcessing – This technique has been used for decades and makes use of two (or more) separate processors. Using the operating system, threads will be divided over the different processors. The disadvantage is that using more processors requires a different motherboard design, which makes upgrading the system almost impossible.

·         Simultaneous Multithreading – With this technique, one physical processor is divided into several logical processors. Each logical processor has its own copy of registers but shares other resources like memory management functionality. Even though threads can run simultaneously, bottlenecks might arise when accessing memory or using other shared processor resources.

·         Core Multiprocessing – Using this technique, several physical processor cores are put into one physical processor package. All threads have full access to all processor resources on each processor, although some inter-process communication might be necessary to access memory.

 

Both SMP and CMP are supported by the Windows XP (x64) Operating System. The advantage of these techniques is the fact that there is still one physical processor package needed on a motherboard, so it keeps costs down, which is especially important for desktop computers. CMP has an advantage over SMP because resource contention for shared processor resources does not exist.

 

Web Services for Devices

 

Rob Williams, Product Manager Windows Device Experience Group, gave an overview of the current state of Web Services for Devices (WSD). This was all about devices that are connected via a network (e.g. a network printer). Before digging into WSD, Williams explained what a Web Service is. A Web Service basically is a protocol that deals with software talking to other software. Extending that definition, WSD is all about software running on a device talking to software running on the PC. To make it more clear, WSD is a collection of protocols for consuming and controlling services on network connected devices. WSD is built upon industry standards defined in DPWS. It is in fact a lightweight version of the Web Services specification, and can use UDDI for discovery, WSDL to find out what functionality a device exposes. All communication is done via XML / SOAP and optionally it can make use of SSL/TLS security. The following reasons are driving success factors for WSD:

 

  • Custom protocols are costly and have limited 3rd party applications for the device as well as a poor integrated experience in Windows.
  • A device that can notify the manufacturer when it is for instance low on toner (since it is network connected), or low on batteries, thus allowing preventive maintenance.
  • It is possible to integrate a device immediately with existing Web Services like Amazon, Mappoint and of course many, many others. For example, a multi media device that, when playing a demo immediately can contact Amazon to purchase the music.

To be able to use the WSD protocol, a device needs HTTP & TCP/IP, optionally TLS/SSL, but the WS-* specifications need to be implemented, and a WSDL definition must be available as well.

One of the appealing examples is actually running on Windows Media Center Edition and is used for home automation. Imagine controlling the climate, security camera’s and lights all from one consistent device interface, making use of WSD. Using the remote desktop feature of this version of Windows, you can even remotely control the lights, which might be handy if you left them on while leaving for a break.

 

 

Mobile PC’s tomorrow

 

Finally we move back one more time to mobile PC’s. Burt Parker, Technology Evangelist Mobile Platform Division, gave an overview of requirements for tomorrow’s mobile PC’s. According to him (and definitely not a new story for this WinHEC), a mobile PC should become much more personal, no longer a large gray box under the desktop. The mobile PC will be carried around and used all day, it should always be connected and have natural input possibilities. It must last long on batteries, must be light, but at the same time users want performance rivaling modern desktops and have large, impressive feature lists. Of course, more functionality and processing power means more power draws. We want everything at the same time, but compromises might still be necessary.

 

Battery and power technology

 

There are improvements in the development of batteries but they should be available faster. Think about warm swapping and fast charging, or balancing between big batteries versus extender batteries. Longhorn requires ACPI which will give several advantages. In Longhorn, a power mode called Hybrid Sleep combines standby and hibernate. The user just puts the PC to sleep, but under the hood the system saves a hibernate file and then enters standby. Normally the system will resume fast from memory when it is switched on again. However, if standby loses power, the current working set of the user can be restored from the hibernate image without loss of data or error. It will take a little longer to be up and running again, but for the user no further steps are necessary.

 

Processors

 

As far as processors are concerned, we should forget about the “GHz = Performance” myth! It is important for each user to look at their needs. If you are working with documents and email only you don’t need a 3 GHz processor, 900 MHz will do great! A faster processor will run out of power faster and is probably less valuable than a “slower” processor that can run for over 10 hours. As far as graphics are concerned the same trade-offs should be made. In general however, Parker was confident to say that most modern mobile computers will run Longhorn as long as they have a decent processor and at least 512 MB RAM available. Since Longhorn itself decides the best graphical experience to operate in, it is hard to say what graphics experience you will get when running Longhorn on your own laptop. However, to make full use of all graphics features of Longhorn a pretty impressive graphics subsystem will probably be necessary.

 

WinHEC Wrap Up

 

That’s about all from WinHEC 2005. This has been a conference that covered lots of Longhorn details, mainly on driver levels. It seems that the fundamentals of Longhorn are ready. Now it is simply a matter of waiting for beta 1 that will ship later this year and for PDC, where the API’s will be frozen.

 

Of course there was the introduction of x64 versions of both Windows XP Professional and Windows Server 2003, products that probably will find there way to the main stream soon, as the expectation is that more and more PC’s and servers will be shipped with 64 bit processors.

 

During WinHEC it seemed that the hottest topic was around mobility. Microsoft is really pushing hardware vendors to come up with creative new mobile solutions, taking today’s Tablet PC as a starting point. If you want to make money it seems a safe bet to enter the mobile computing world. Remarkably enough, all attention was focused on Longhorn ready mobile computers, Windows CE devices were hardly mentioned. However, the Windows CE mobile world has its own conference coming up in just over a week when MEDC will be held in Las Vegas. Make sure to visit DotNETForDevices again around that time, because we will be there as well.

 

 
Back








SpiralFX Technology Solutions
www.spiralfx.com


Do you want to learn developing a full blown Windows Mobile Application? This article and accompanying multimedia content will help you to do so. It will be extended over the upcoming weeks / months, so check back regularly.
 
Read Full Article