PIOS and Protestant

Dejan Milojicic dejan@tesla.osf.org
Mon, 31 Oct 1994 02:52:23 +0000 (GMT)


(This is a fake mail from a Usenet message)

From: dejan@tesla.osf.org (Dejan Milojicic)
Newsgroups: comp.os.research
Subject: Re: PIOS and Protestant
Date: 31 Oct 1994 02:52:23 GMT
Organization: Open Software Foundation
NNTP-Posting-Host: ftp.cse.ucsc.edu
Originator: osr@ftp

>>Nice and wishful visions, if it only were at least a little bit 
>>beyond the statements. Mach certainly has deficiencies, and I 
>>would really be happy to see how you suggest to overcome them,
>>unfortunately, beside stating what you would like to see (and 
>>even that in a very, very broad and fuzzy way), I haven't 
>>found any particular suggestion in your email. 
>
>Before anything is built it is a vision.  I have dared to make that 
>vision public and have been received well by those in the know.  The 
>internet is a place to bring those with ideas together, not a place for 
>negativity.  Next time post questions, not empty comments.

Ok, I have three classes of questions: academic, commercial, and
general. I apologize if I sounded negative in previous email.
On contrary, I would really be happy if you can succeed in your
ideas, and I wish you good luck. However, I am suspicious about
a couple of issues in your proposal. About your use of migration,
and about building a new microkernel in general. I've been following
migration mechanism for half a decade, even doing some work of
my own. In general there was not so much interest in using it. 
Moreover, even the other earlier implementors of well-known migration
mechanisms had similar experience. Check experience of V kernel,
Sprite, Accent, Mach, Chorus, Emerald (and there are many others). 
Check also recent feedback to NOW project at Berkeley, as presented 
at ASPLOS.

Although I still believe in the future of migration, even
at various levels (coarse, medium and fine grained, depending
on applications), what bothered me in your email was the ease
with which you suggest heterogenous migration when even in a
homogeneous one hasn't succeeded so far. But let me get back 
on questions. First the academic.

> Processor Independent Operating System
> ======================================
> Conventional operating systems assume a static compute environment.  
> An application is tied to the machine it is initially executed on.
> There is a need to develop an OS which operates in a distributed,
> heterogenous environment.  An OS in which applications, during execution, 
> can be migrated to, or distributed amongst, machines of differing 
> architectures to affect an optimization of resources.   

1) How do you proof that systems/applications can benefit from migration
   among the same architectures, let alone the different architectures
   where the costs are going to be much higher. (Krueger is one of 
   the rare who (through simulation) demonstrated benefits of process 
   migration, however, even he changed his mind lately, check his
   recent publications). What is your system intended to support?
   General applications, scientific, data base? For each there is a
   different need, and probably different kind of LD support, some
   may not need migration at all. In general there is small class
   of applications that need load distribution. Check Utopia that 
   does most of LD at user-level.

2) Estimates of the costs of migration to the machine of another 
   architecture? They are much higher than among machines of the 
   same architecture. Would this not outweight migration in some
   cases? Have you made any estimate on this.

> A PIOS is application-centric, breaking the machine-centric model which 
> has pervaded OS design for decades.  Applications are viewed as resources
> and are named.  The name is not tied to any specific machine.
> A resource is a grouping of code and data, and agents which act on that 
> data.  A resource is not bound to any processor and may be migrated to 
> any other processor.  Agents execute code within resources, and can travel 
> between resources with data.

> A PIOS will rely on an intermediate language, below programming, but general 
> enough to compile on a wide number of machines.  The language will
> compile down to binary just before run time, or after a resource is migrated 
> to a new processor.

3) What are the costs of doing this? Which applications are envisioned?
   What is predicted execution time of applications, and how many can 
   be running at a site which could be a reason for migration of some 
   of them?

Commercial questions:

> The initial goal of the project will be to design a small microkernel 
> (10-20K), the intermediate language, and a small toolkit of 
> resources for developing and testing.  I would like to implement the design
> on at least a 486/Pentium and a PPC.  In order to encourage people to
> experiment with PIOS, the microkernel would also be packaged as an application
> and run on top of existing OS's.  Then, when conditions warranted, the
> true microkernel version could be used.

1) Time and man power for doing this? Chorus, Mach, Spring, QNX, all of 
   them required quite a significant time/man_power. Would you not 
   be duplicating their effort? If you want completely free code,
   why not starting with Linux, Lite, VST, ... not to mention
   many other academic systems.

2) Have you checked ANDF project at OSF that already provides some
   of the needs for intermediate format?

> Here are some of my perceived advantages to PIOS;
> 	Forward and backward compatibility of software
> 	High level of sharing resources amongst applications, true
> 		code reusability
> 	Absolute code portability
> 	Efficient use of disparate and dynamic hardware resources
> 	Elimination of backward compatibility hinderence to
> 		new processor development
> 	Parallel processing in a heterogenous environment

3) For which applications.

> 	Ability to upgrade PC's by simply adding boards with (arrays of)
> 		CPU's, reduction of high cost of upgrading systems
> 	Make networking transparent to applications
> 	Simple data sharing between applications on different platforms
> 	The birth of organic computing (more about this later...)

> I have spent the last several years working out how this would work, now
> I just need the resources to bring this project to life.

> I am looking for individuals who are willing to contribute time in exchange
> for eventual salary and compensation (and the personal satisfaction of 
> contributing).

> I am looking for businesses who are willing to contribute resources 
> (equipment, people, capital, office space, etc) in exchange for early access
> to the developing technologies.

> I believe that a PIOS microkernel could provide a foundation upon which
> all computing could be run, from handhelds and set-top boxes to
> parallel supercomputers. 

> If you are interested, please email me.  I would like to begin discussions 
> with interested parties during October, with development commencing 
> in November.

General comment. 

In the today's world with Microsoft on the one side and 
the rest of companies offering various versions of
operating systems and a number of microkernels, yet another
one doesn't seem probable to succeed. Don't forget that 
the same idea came from DARPA, using Mach on all platforms,
and it does run on different architectures, but you should
be aware how much effort is put into it by many companies,
including OSF. 

I wish you a good luck anyway. I hope I wasn't much negative 
this time. First time I was surprised by the amount of your 
optimism.

Dejan,
(speaking for myself).