Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers

ArticlesShared Memory


May 1998 / International Bits / Shared Memory

Millipede software turns even the smallest network into a virtual parallel machine.

Tania Hershman

This year, the cost of a symmetric multiprocessing (SMP) computer, which contains several processors working in parallel, is expected to draw even with and then undercut the price of a single-processor machine of equal power.

Few corporations can afford to switch their old machines for more powerful SMP workstations. But what if a corporation could bring in one or two SMP workstations and all employees could benefit under a cluster arrangement?

This is the idea behind Millipede, developed by Dr. Assaf Schuster and Ayal Itzkovitz of the parallel and distributed computing laboratory of the computer science department of the Technion (Haifa, Israel).

Millipede sof tware turns even the smallest network into a virtual parallel machine (VPM) . Inside a parallel computer, tasks are distributed among the processors as threads that are carried out simultaneously, sharing the memory. A VPM takes this model up one level. "Each workstation behaves like a processor inside an SMP computer, all sharing the total network memory," explains Schuster.

Millipede is the first VPM that uses nondedicated machines running Windows NT. Processing power not being used by an individual computer at a specific time is taken by Millipede and added to the central pot to be employed for tasks that need more juice. This process is entirely transparent to the users, and if they suddenly need more power, Millipede automatically returns it to them.

Millipede's tasks fall into two main areas: distributed shared memory (DSM) and thread scheduling. Threads are operations carried out in parallel. But if there are, say, 16 threads and only four processors, there has to be a time schedule that determines when each thread is performed and on which processor. Also, some tasks may have to be carried out before others can begin, so some threads have to wait their turn.

Millipede schedules threads among the workstations, moving them from one computer to another as resources allow and making sure that the results of operations are communicated to the threads that need them.

However, any system that relies on communication across a network can become weighed down by network traffic. Millipede tries to reduce communication between machines by studying the threads' pattern of memory access and, on the fly, sending to the same location those threads that use the same memory fragments. It also has a reduced-consistency feature. Millipede lets the programmer determine that, for a variable whose value changes frequently, only one in every five changes, say, is sent out.

The advent of Java has been a boon for Millipede, because the Java paradigm includes multithreading, where the threa ds communicate through shared memory. "One direction we are now taking," says Schuster, "is to make Java the unifying interface for this system, so we will be able to get Java bytecode from the network -- including the Internet -- and execute it concurrently on every available distributed environment." This would be the first distributed Java virtual machine (JVM) for PC clusters.

Micky Rodeh of Technion's computer science department also works for IBM Israel, a sponsor of the Millipede project along with Microsoft and Intel. He sees Java as leading the crusade for multithreading. "While multithreading is an old concept, it gained popularity as modern user interfaces have emerged and then has grown into a first-class citizen in Java," he says. "Millipede advances the state of the art in clustered systems."

Several research projects in academia partially resemble the Millipede project, including Calypso at New York University and Brazos and TreadMarks at Rice University (Houston, TX, U.S.). The Millipe de team is collaborating with these projects on future directions. Calypso focuses on fault tolerance. Brazos and TreadMarks study the performance of DSM. Willy Zwaenepoel, from Rice University, says TreadMarks is more focused "on basic shared-memory design and less on environmental aspects. Millipede is one of the first DSM systems to attempt to make some progress in nondedicated environments."

The beta version of Millipede is already available for downloading free from the project's home page. Schuster estimates that sometime this year, the Millipede concept will become ripe for the commercial domain. He hopes that VPMs will become the new parallel-computing paradigm. "Intel is going to go on producing SMPs, and Microsoft is going to continue supporting multithreading on SMPs in its future releases of Windows NT, so it is a natural step to extend it to distributed environments," he says. "I believe that this is going to be the way things will happen."


Where to Find


Brazos Project

Rice University
Houston, TX, U.S.
Phone:    713-527-4020
Fax:      713-524-5237
E-mail:   
espeight@rice.edu

Internet: 
http://wwwece.rice.edu/~espeight/brazos.html



Calypso Project

New York University
New York, NY, U.S.
Phone:    212-998-3011
Fax:      212-995-4124
E-mail:   
kedem@cs.nyu.edu

Internet: 
http://www.cs.nyu.edu/milan/calypso/index.html



Millipede Project

Technion-Israel Institute of Technology
Haifa, Israel
Phone:
    +972 4 829 4330 7
Fax:      +972 4 829 4353
E-mail:   
millipede@cs.technion.ac.il

Internet: 
http://www.cs.technion.ac.il/Labs/Millipede/



TreadMarks Project

Rice University
Houston, TX, U.S.
Phone:    713-527-4834
Fax:      713-285-5930
E-mail:   
rhonda@cs.rice.edu

Internet: 
http://www.cs.rice.edu/


Millipede Virtual Parallel Machine

illustration_link (35 Kbytes)

Millipede software creates a virtual parallel machine from unused processors and memory in networked systems.


Up to the International Bits section contentsGo to next article: The Web Over Plain-Vanilla TV
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network