          Saleh Elmohamed
   Northeast Parallel Architectures Center
          111 College Place
          CST Bldg, Rm 3-217
          Syracuse University
          Syracuse, NY 13244-4100

     E-mail: saleh@npac.syr.edu
     Telephones: (315) 443-1073 (office)
                 (315) 422-8497 (home - 
                       leave msg, please.)

                 (315) 443-1973 (Fax)


Career Objective
----------------
Interested in opportunities in 
distributed computing (via objects,
messaging and components),
software architecture, computational
modeling on heterogeneous computing
environments, collaborative systems
for scheduling and distance
learning, and algorithms for routing,
allocation and data mining
applications.

I also have worked on pattern/speech
recognition, and object-relational
database systems. Therefore, would
be quite interested in any
opportunities in these two areas.

Looking forward to join a group of
highly motivated and intelligent
researchers or developers to work on 
some of these interesting fields.


Education
---------
Bachelor of Science in Mathematics 
and Computer Science, Michigan; Master 
and PhD of Science in Computer Science,
Syracuse.
Projected date for the completion of
the PhD: 4/1999.


Areas of Knowledge
------------------
1. Resource managment/allocation and
   scheduling on distributed computing
   environments.

2. Parallel and Distributed/
   Shared-Memory Computing and
   Programming Models on NUMA
   systems, SMPs, and clusters.
   (nhse.npac.syr.edu/hpccsurvey/architecture/)

3. CC-NUMA and Cache Coherency
   protocols.
      From my experience with cluster
   computing, one particular issue of
   interest is to investigate the
   relationship/interplay between
   the way cache coherence algorithms
   locate correct data held in one of
   the caches of the CC-NUMA/SMPs
   involved and the update-protection
   methods of the shared memory from
   wild and undesirable writes that can
   corrupt it. I have yet to see
   a really good memory protection
   algorithm in a cache-coherent
   environment. A side issue, but
   more important, is failure recovery 
   in these kind of systems.
   (nhse.npac.syr.edu/hpccsurvey/architecture/)

4. Non-Euclidean Combinatorial
   Optimization (for example,
   scheduling, routing, allocation).
   Heuristics and algorithms
   for tackling these type of 
   problems.

5. Approximation Algorithms.

6. Building web-based collaborative 
   systems for planning, scheduling, and
   distance learning.
   (www.npac.syr.edu/tango/)

7. Scientific Computing using Java/MPI,
   C/MPI on Networks of Workstations
   and High Performance Computer
   Architecture.

8. Computational Science and Modeling.

9. Software Engineering (particularly, 
   object-oriented software design and
   analysis).

10. Database systems and Algorithms for
    data mining applications.

11. Java & related technologies
    such as CORBA for scientific
    and engineering applications, and
    visual learning tools.

12. Knowledge-based Systems,
    Case-based Reasoning and 
    Computational Geometry.

13. Distributed Object Protocols
    such as Java RMI and CORBA's
    IIOP, as well as other communication
    protocols.

14. Neural computing for Pattern
    and Speech Recognition, and Function
    Approximation.


Software/Hardware Systems and Languages
---------------------------------------
1. Programming Skills: 
   proficient in C, Java, Lisp,
   Prolog, Smalltalk, Fortran, C++,
   Modula-3, and (SQL, CGI/Perl).
   Parallel programming tools: MPI and
   PVM.

2. OS knowledge and experience in:
   Unix, Solaris, Linux, VMS, IRIX,
   and NT.

3. Hardware systems experience in:
   SUN UltraSparcs and Servers, 
   HP Stations, SGI Origin 2000,
   SGI Power Challenge, IBM SP-2, 
   Intel Paragon, Cray T3E/T3D, 
   PCs, and Macs.
   (nhse.npac.syr.edu)


Related Work and Experience
---------------------------
Title: Development/Research Scientist
Organization: Northeast Parallel 
     Architectures Center, Syracuse, NY,
Date: 1995 till now.

 1. Worked on High Performance
    Computing using MPI and Java/MPI
    on clusters of Sun workstations
    under Solaris.

 2. Worked on designing a virtual 
    programming laboratory (VPL) for 
    programming in Java, Java/MPI,
    C/MPI, on a network of 
    workstations (SUN, DEC, HP). 
    ** Currently part of NPAC distance 
    education efforts, using a cluster 
    of Sun Servers.
    (www.npac.syr.edu/Education/Courses/CPS615/)

 3. Designed and successfully
    implemented scheduling and 
    timetabling for Syracuse 
    University using optimization-based
    methods such as simulated annealing,
    mean field, TS, genetic algorithms
    and rule-based approaches. 
    ** Currently using Similar
    algorithms for data mining
    applications and multiprocessor
    scheduling.

 4. Working on Java-based tools for
    scientific and engineering 
    applications such as collaborative
    systems for planning, scheduling
    and distance learning.
    (www.javagrande.org)
    (www.npac.syr.edu/tango/)

 5. Fall 1996, 1997, and 1998 
    co-taught, with Geoffrey Fox, 
    Computational Science for 
    Simulation Applications and 
    Parallel Computing. 
    (www.npac.syr.edu/Education/Courses/CPS615/)

 6. working on Computational 
    Methods for Distributed
    Information Systems. Using
    Java-related technologies,
    among others.
    (www.javagrande.org)

 7. Database Systems (current work
    involves Oracle8 and OORDBC).
    As well as JDBC on the Java side.

 8. Working on coupling 
    message-passing with Java for 
    distributed and parallel computing.
    (www.npac.syr.edu/projects/pcrc/index.html)

 9. Worked on pattern recognition and
    matching using neural, genetic and
    mean field algorithms.

 10. Working on hardware and software
     resources for NHSE (www.nhse.org),
     and (nhse.npac.syr.edu). 


Languages and Communication Skills
----------------------------------
 Have an excellent command of 
 the English language as well as
 few others.


Sample Reports
--------------
1. S. Elmohamed, Some issues of 
   reducibility and equivalence in
   feedforward neural networks, NPAC 
   TR 94-60, Syracuse University, 1995. 
   (submitted for publication) 

2. S. Elmohamed, G. Fox,
   P. Coddington, Optimization Networks
   and Annealing for scheduling on
   a cluster of workstations, NPAC Tech 
   Report, Syracuse University, 1997. 
   (To appear in Journal of Physics C)

3. S. Elmohamed, G. Fox, M. McMahon, 
   Web-based CFD Educational Example: 
   Parallel Implementations and 
   Analysis, NPAC Tech Report, 
   Syracuse University, 1997.
   (To appear in Journal of Physics C)
   ** MPI/Java demos of this software 
   were given at Supercomputing 1997 
   in San Jose and Supercomputing 
   1998 in Orlando, by our colleague
   Bryan Carpenter. 
   (www.npac.syr.edu/projects/pcrc/index.html)

4. S. Elmohamed, G. C. Fox, 
   P. Coddington, A Comparison of 
   Annealing Techniques for Academic
   Course Scheduling, in Practice 
   and Theory of Automated 
   Timetabling II, Edmund Burke & 
   Michael Carter (Eds.), 
   Springer-Verlag Lecture Notes in
   Computer Science, Volume 1408, 1998.


Other Online Work
-----------------
I have worked on and some is work in progress.

1. Parallel Compiler Runtime Consortium:

     http://www.npac.syr.edu/projects/pcrc/

2. Parallel software/hardware for the NHSE:

     http://www.nhse.org
     http://nhse.npac.syr.edu/hpccsurvey/
     http://nhse.npac.syr.edu/hpccgloss/
     http://nhse.npac.syr.edu/hpccsurvey/architecture/

3. Java for Computational Science and Engineering:

     http://www.javagrande.org
     http://www.npac.syr.edu/projects/tutorials/JavaCSE/

4. CD-ROM materials for the US Army Corps of Eng. (CEWES):

     http://osprey6.npac.syr.edu:8080/   and
     http://www.wes.hpc.mil/pet/CEWES/CEWES_frame.html

5. Computational Science and Engineering Materials:

     http://www.npac.syr.edu/projects/cpsedu/CSEmaterials/

6. Collaborative systems for distance learning,
   planning, scheduling, etc.

     http://www.npac.syr.edu/tango/

7. Classes I co-taught or assisted in setting up and
   teaching in the past 3 years:

     http://www.npac.syr.edu/projects/cps606spring98/
     http://www.npac.syr.edu/Education/Courses/CPS615/


References
----------
  1. Professor Geoffrey C. Fox, 
     Director, NPAC, 111 college
     place, CST Bldg, 
     Rm 3-217, 
     Syracuse, NY 13244-4100.   
     phone: 315-443-2163
     email: gcf@npac.syr.edu

  2. Dr. Paul D. Coddington, 
     Department of Computer Science, 
     University of Adelaide, 
     Adelaide, SA 5005,
     Australia.
     email: paulc@cs.adelaide.edu.au

  3. Professor Ernest Sibert,
     Engineering and Computer 
     Science, 111 College Place, 
     CST Bldg, Rm 2-120, 
     Syracuse, NY 13244.
     phone: 315-443-3110
     email: eesibert@top.cis.syr.edu

  4. Dr. Bryan Carpenter, 
     Senior Research Scientist, 
     NPAC, 111 College Place, 
     CST Bldg, Rm 3-217, 
     Syracuse, NY 13244-4100.
     phone: 315-443-5068
     email: dbc@npac.syr.edu

  5. Professor Nancy McCracken, 
     Engineering and Computer Science,
     Syracuse University, 
     111 College Place, CST Bldg,
     Syracuse, NY 13244.
     phone: 315-443-4687
     email: njm@npac.syr.edu


Work Location and Availability
------------------------------
I can relocate to any region in the US.
April 1999 or after.