Parallel embedded systems

Maneesh Yadav
Fri, 18 Dec 1998 15:26:52 -0500

Hi fellow Tuners,

Been ahwile since I posted last, largely due to the fact that I can't keep up
with the theory, I can't seem to differentiate when it's somebody's opinion or
hard and concerete theory...

anway, this isn't entirely about TUNES, but they are related issues and I am
looking for general comments (I posted on comp.arch...god are those guys stuffy,
all I was looking for was general comments, and all I got was a flame back
saying that a newsgroup is not a teaching service..geeze).

David Jeske, I read your resume and it sounds like you've done work with this
type of stuff, I'd be particularly interested in your comments.

My supervisor suggested that a good topic would be to investigate the current
issues embeeded systems.  The way I understand it is that these days embedded
systems are getting more and more complex, more memory multple processerors
etc. And there is a lot of code that has to implemented from scratch,
communication between systems, resource allocation etc.  He has told me that
it is a "hot" topic these days as to what is the best solution for such
systems to handle complex resource allocation and communication, and the
parallels<pun> they have between distrubted memory parallel systems. Network
technology is getting faster and faster (myrinet) and there is a big industry
push for integration of all types of systems (toasters, home electronic
etc.)..what's the best (most efficient;least latency;easiest to code for) way
to get these systems talking?

Questions like: Do we run an OS on each system?  What overheads occour (OS's
contribute signifcantly to reducing bandwidth in networked systems, see some
stuff from the princeton SHRIMP project), added memory requirements will also
result in higher price for the system.

Maybe a central OS that manages all systems and provides sufficient hooks so
that new systems can be added dynamically?

An OS on only some systems?

Is there a general abstraction we can make that can apply to parallel systems
under any implementation from a LAN network to cards on a PC?

If I come up with a solution I'd like to produce something practical.  One
area where I can see this kind of stuff getting really big is the 3d video
card market.  Won't be long before we have multiple processers on video the poor programmers for these systems have to re-invent an OS to
allocate and manage resources on this once simple system (and in doing so end
up hard coding interfaces to hardware and the like) or is there a way we can
standardize an interface so that it can use a set of already made resource
managing and system to system communication libraries.

I am doing a lot of reading on parallel systems, I think my knowledge is a
little more behind in this area than it should be to tackle such a project, but
I am trying.

I realizee now that this is a very important issue.  Although I really have no
idea what TUNES is anymore, how will a system like address these issues?