Print 43 comment(s) - last by gfxBill.. on Sep 30 at 8:58 PM

Microsoft's Barrelfish operating system is an experimental OS looking to bring improved multicore performance to Microsoft's OS's  (Source: Network World)

"Barrelfish hackers and hangers-on, Zurich, August 2009 "  (Source: Microsoft/ETH Zurich)
Microsoft tests out multi-core improvements that will eventually be rolled into Windows

Microsoft has long cooked up new and experimental operating systems whose features eventually got rolled into its central Windows offerings.  Most recently it's been dabbling with Singularity, an experimental OS designed for increased reliability thanks to kernel, device drivers, and applications being written in managed SING# (an extension of C#) code.  Another test OS is Midori (not to be confused with the web browser), an OS that sandboxes applications for security and is designed for running concurrent applications, a feature geared towards cloud computing schemes.

Other recent efforts include its Windows Azure OS, a cloud computing OS currently offered for free to developers.

Now Microsoft has unveiled another new OS prototype codenamed "Barrelfish".  Barrelfish is an OS optimized to run on multi-core machines.  Namely, Barrelfish uses message passing and a database like system to pass information between cores.  Typically OS's use share memory schemes, which become very inefficient when resource demands are high.

The new OS was jointly created by ETH Zurich, a technology university, and Microsoft Research, located in Cambridge, Mass. 

Interestingly, it uses some open source BSD third-part libraries, which are "covered by various BSD-like open source licenses."  This has led to speculation that the new OS may be free and open source, not terms you typically would associate with Microsoft.

According to developers who have attended conferences on the new OS, it reportedly brings some of the Midori/Singularity sandboxing protections onboard.  Additionally, applications reportedly have an alternate route of accessing information from devices like graphics or sound cards.  A large deal of device information is reportedly stored in a central database that can be queried.

Writes developer "AudriUSA", "... instead of fully isolating program from device via driver, Barrelfish has a kind of database where lots of low level information about the hardware can be found. The kernel is single threaded and non preemptive. Scheduling is coupled with the message passing, an arrival of the message simply activates the waiting thread. It also uses a little bit of the microkernel concepts, running drivers in protected space, like L4 and in general pushing a lot into application domains."

As Intel and AMD expand their 4, 6, and 8-core lineups and approach even higher core counts, using these resources efficiently will be a crucial operating system responsibility.  It will be exciting to see what kind of improvements that Microsoft can accomplish with Barrelfish, as these improvements will surely be rolled into successors to Windows 7.

Comments     Threshold

This article is over a month old, voting and posting comments is disabled

A little late...
By amanojaku on 9/28/2009 10:06:45 AM , Rating: -1
Considering dual-core hit desktops a few years ago, and quad-core has been around for about two years. I haven't upgraded to quad because of Windows. Better late than never, I guess.

RE: A little late...
By Digimonkey on 9/28/2009 10:12:05 AM , Rating: 3
Windows Vista and 7 already take advantage of more than one core. They just don't do it in the most proficient way, which is what microsoft is trying to improve on with this new OS.

RE: A little late...
By amanojaku on 9/28/09, Rating: -1
RE: A little late...
By Flunk on 9/28/2009 10:53:33 AM , Rating: 2
It's a lot easier to multithread server loads. Even before multicore processors each connection = one thread was already being used as the standard. The lack of scaling from multiple CPUs is more due to 3rd party developers than Window's multicore support. The current method for multithreading in Windows is fine for current systems but once we have systems with > 24 cores (or half that with hyperthreading) it starts to become untenable for all but embarrassingly parallel operations (like media encoding). Also the articles you linked too are not relevant to this discussion and outdated.

RE: A little late...
By amanojaku on 9/28/09, Rating: -1
RE: A little late...
By omnicronx on 9/28/2009 12:50:24 PM , Rating: 2
Buddy Vista/7/2008 Do not share the same kernel, in fact Server 2008 shares its codebase/kernel with Vista and Server 2008 R2 will share its codebase/kernel with 7. The fact remains they are based on the same kernel between the server/workstation release in both cases, so I don't know what you are smoking to think that multithreaded apps are handled vastly different aside from obvious optimizations for background apps in the server additions and foregrounds apps in the desktop editions. Now I'm not saying there are not other optimizations, but I really doubt there are vast differences at the kernel level.

Also please stop reading wikipedia, as Server 08 R2 and Windows 7 share more than the 'base code'.

As for your XP statements.. Your statement is completely irrelevant, unless you can find a link between these 'inherent inefficiencies' and handling of multiple threads in Vista/7. You cannot just merely say because a multithreaded app runs better on XP than Vista that the way multiple threads are handled is the culprit. (as this was also the case with many single threaded apps). In fact of the few benchmarks you will see on the subject, Vista actually has lower latency in terms of inter core efficiency which is the main reason that I call foul on your remarks.

RE: A little late...
By nichow on 9/28/2009 12:50:59 PM , Rating: 3
Actually the methodology used in the article you reference isn't very good. Some of the more obvious problems are:

1- The author never specifies how the machines are staged (at least that I could find). He only indicates that they were dual and quad core machines. To be a valid comparison each OS tested would need to be installed on the same or identical machines to compare apples to apples. Even matching cpu's in two different machines is not sufficient because the rest of the machine config can change perf test results dramatically.

2- He only mentions tracking the clock time for test completion and then draws conclusions without supporting evidence. He would need to at least capture cpu, disk, and ram metrics to determine why the test results were different. This would allow a more convulsive determination as to what the bottleneck is. It may be ram or storage that is the bottleneck and not cpu core scaling. Making a conclusion without appropriate data, isn't very accurate.

3- The selected workload is suspect. Using the Visual Studio developer version of SQL is a bad workload. This is designed only for development and testing purposes, it is not a high performance SQL server that will utilize multiple cores effectively. A real SQL server should be used. As far as the message store or media center workloads go, they would have to be analyzed to determine if their behavior would test cpu scaling, but without collecting any of the metrics i mention above, this determination would be difficult.

I don't know how valid the article's conclusions are, but without more detailed metrics, not even the author can know.

RE: A little late...
By lotharamious on 9/28/2009 10:56:02 AM , Rating: 3
You state these things on a completely unfounded basis.
The Windows Server line uses multiple CPUs and cores more efficiently than the Windows desktop line, so Barrelfish is more of a desktop improvement than a server improvement.

What are you talking about? The Windows server and Windows desktop for the consumer use the exact same kernel since Vista/2008 R1. It's the uses of Windows server and Windows desktop that are completely different. Server applications are generally parallelizable since most data access is independent. The consumer desktop on the other hand generally runs many single-threaded applications that cannot be parallelized, and thus makes multi-core processors a bit underutilized.

Barrelfish is simply a different paradigm for an operating system, similar to how other experiemental Microsoft operating systems (like Midori) are different from the core Windows OS. Microsoft is trying to expand all of Computer Science by developing new types of thinking about computers and how they interact with electronics and people. Ask any Computer Scientist/Computer Engineer... this is incredibly exciting stuff from a theoretical standpoint.

RE: A little late...
By inighthawki on 9/28/09, Rating: 0
RE: A little late...
By MrPoletski on 9/28/2009 11:11:54 AM , Rating: 2
hmm, I feel slightly rude for pointing out that the OS is responsible for scheduling all of the tasks you have running and deciding which processor is 'free enough' to handle this new, difficult to quantify, workload that might rack it up to 100% usage while running at half speed or leave it having regular bouts of noops because the other process it is dependant on is running on an overworked processor.

RE: A little late...
By inighthawki on 9/28/2009 2:57:35 PM , Rating: 1
Yes I understand that, but while the OS doesn't do a perfect job, that still doesn't change the fact that the OS's ARE multi-core compatible, and more cores WILL show you a vast improvement when multitasking. This article is simply explaining that theyre improving the efficiency of multi-core cpus, not saying that they will work at all.

RE: A little late...
By mattclary on 9/28/2009 11:33:21 AM , Rating: 1
In 10 years (maybe less), you will be seeing a lot more than 4 cores.

RE: A little late...
By FITCamaro on 9/28/2009 11:45:34 AM , Rating: 2
In 2 years you'll be seeing more than 4 cores. 8 core CPUs are on the horizon. By this time next year they'll probably be talking about 12 cores or 16 cores.

RE: A little late...
By ElderTech on 9/28/2009 12:39:22 PM , Rating: 3
Quote from amanojaku:
"7 is a LOT faster but it's not available yet, so performance tests are premature at this point."

There are several performance tests of Win7 out there, particularly comparing it to both Vista and XP. Unfortunately, from a variety of results, it's evident it's NOT faster than XP in many if not most applications, although it is measurably faster than Vista. Here's one recent example of a comparison:

From this and other comparisons, is seems Win7 is close to the performance of XP, and does offer a variety of advantages, including excellent 64bit and SSD support, as well as improved security. The latter of course assumes you have applied the Microsoft "Fix-it" Tool to the RC version to disable the SMB 2 code potential exploitation. This isn't an issue in the final release versions according to MS.

RE: A little late...
By StevoLincolnite on 9/28/2009 1:02:30 PM , Rating: 3
Most people are aware of the benchmarks circulating the Internet.

However the "Feel" of the operating system seems to be much quicker than that of XP, like... Start-up time, or Clicking on the Start Menu, or Opening "My Computer". - They all feel much snappier.

Then you have the drivers side of things... Games haven't yet started supporting Direct X 11, and drivers from companies like ATI/nVidia/Intel/Creative/Via etc' - Still aren't fully mature, so performance in some aspects can be a bit of a hit or miss, give it a few months after release and look at benchmarks of Windows 7 then.

It might not be as fast as XP in some benchmarks, but that would be like comparing Windows 98 to Windows XP, where Windows 98 was clearly superior in performance/compatibility for a very long time.

RE: A little late...
By omnicronx on 9/28/2009 1:15:09 PM , Rating: 2
Then you have the drivers side of things...
Not only video drivers but system drivers too. The benchmarks he posted were using Nvidia hardware based on drivers released within days of the RC release (i.e early may). Comparing barely post RC drivers with 8 years in the makings XP drivers is hardly a comparison, regardless if the 7 build was RTM or not.. I'm not saying the benchmarks will change, as it has become apparent that XP does perform better in certain situations, what I am saying people may want to wait until we see full release drivers before we start coming to conclusions. 680i hardware is not exactly new either, so its not going to be a main focus for Nvidia in the first place. Optimizations will be made for newer hardware before (if ever) it trickles down to the old.

RE: A little late...
By ElderTech on 9/28/2009 2:17:17 PM , Rating: 2
Granted, the driver issue is valid, as there is likely much more support coming in this area. However, even with the potential drivers support, there are definite advantages to XP over Win7, depending on the specifics of your applications and usage. To that effect, here's another recent comparison on mobile computing platforms from AnandTech utilizing two different processors in otherwise identical laptops:

Although it's obvious the battery results favor Win7, there are a number of other results that clearly favor XP, particularly in the detailed PCMark05 breakdown results, and the OS Benchmarks.

That said, Win7 has specific advantages that are relevant to my usage, including 64bit and SSD support, particularly with the upcoming TRIM feature. But for others, particularly more casual users like students who need mobility with quick and easy OS access, XP is still the defacto choice, and will probably remain so for some time. That's why many colleges and universities, even the more tech savy ones, provide official support only for XP, and not even Vista.

An example is Carnegie Mellon University, where their campus-wide computer tech support conforms to the above. That's a school with a recently completed new computer science building almost entirely funded by the Gates. That may speak to the difficulties with the Vista implementation, and hopefully with Win7 it will be a different story.

RE: A little late...
By omnicronx on 9/28/2009 3:35:43 PM , Rating: 2
I don't mean to bash PCMark, but unless I see vantage results I'm not going to take these results seriously. Manuafacturers are not idiots, they know how to get the most out of the mainstream benchmark apps, and with PCMark 05, they've had a heck of a long time to do so..

Truth be told I don't trust it one bit, there were tests a year or two back changing the CPUID of a Via nano to Intel / AMD which showed discrepancies in their results where it should not have.

Now I am not saying these results are not true, I am just saying I will not trust any result until 7 is released and release drivers are used.

"My sex life is pretty good" -- Steve Jobs' random musings during the 2010 D8 conference

Most Popular Articles5 Cases for iPhone 7 and 7 iPhone Plus
September 18, 2016, 10:08 AM
No More Turtlenecks - Try Snakables
September 19, 2016, 7:44 AM
ADHD Diagnosis and Treatment in Children: Problem or Paranoia?
September 19, 2016, 5:30 AM
Walmart may get "Robot Shopping Carts?"
September 17, 2016, 6:01 AM
Automaker Porsche may expand range of Panamera Coupe design.
September 18, 2016, 11:00 AM

Copyright 2016 DailyTech LLC. - RSS Feed | Advertise | About Us | Ethics | FAQ | Terms, Conditions & Privacy Information | Kristopher Kubicki