                  M. A. Saleh Elmohamed 
                  111 College Place, CST Bldg 
                  NPAC, Rm 3-217 
                  Syracuse, NY 13244-4100 

                  email:      saleh@npac.syr.edu 
                  Telephone:  (315) 443-1073 
                  Fax:        (315) 443-1973 

Career Objectives 
----------------- 
  Interested in opportunities in software engineering, 
parallel and distributed computing, large-scale statistical
modeling and simulation, Networking, and database systems.

  Looking forward to join a group of highly motivated and 
intelligent researchers/developers to work on building actual
software products as well as conducting research. I do enjoy 
the hands-on coding and building as much as the research side
of it. 

Education 
--------- 
  Bachelor of Science in Mathematics and Computer Science,
Michigan, Master and PhD of Science in Computer Science,
Syracuse. Official completion date 11/99.

Areas of Knowledge & Experience 
------------------------------- 
  My experience spans a number of software and hardware areas. 
Here are what I consider my areas of expertise: 

[A] Software Architecture
  1. Design, implementation, and analysis of process control 
     and scientific software tools and algorithms. 
  2. Design and implementation of graph-based software tools 
     for real-time data filtering and analysis. 
  3. Design and implementation of Java-based scientific 
     software tools for distance education on collaboratory
     systems.  
  4. Optimization-based software tools. 

[B] Distributed Computing
  This includes parallelism and its principles of granularity, 
locality, load balance, coordination and synchronization, and 
performance modeling. My work in this area focuses on the three 
main models: shared-memory (centralized), shared-memory 
(distributed or message passing), and data parallel. The 
shared-memory model is the most interesting but also the most 
complex to deal with due mainly to issues of cache coherence, 
memory consistency, locking, atomic exchanges, and nonuniform 
memory access. Cache coherence and its protocols of snooping, 
directory-based and false sharing are essential and of relevance 
on how we go about handling locking in, for example, shared-disk 
database systems. Also, this is important since commercial systems 
- mainly DBS - typically make heavy use of a central pool of 
shared memory called the database cache, which all processors access 
and update. Figuring out how to deal with a centrally used, large 
chunk of data is quite a complex issue.

  The other issues of interest are memory consistency and cache
cross-interrogation problem. It is that on bus-based SMPs inter-cache
traffic can become the dominant use of a snoopy bus, exceeding
cache-to-memory traffic and becoming the primary system performance 
limitation. 
http://nhse.npac.syr.edu/hpccsurvey/architecture/ 
http://www.npac.syr.edu/users/saleh/homepage/PDC/notes-on-PDC/notes-on-PDC.html      

[C] Large-scale Collaborative Systems: 
  Involving net-based collaborative systems of community of
agents. For this we make use of our knowledge in message passing 
interfaces and active messages used for distributed (memory) 
systems. I have worked on a Java-based collaboration model that is
currently used for distance education, planning and scheduling. 
      http://www.npac.syr.edu/tango/ 

[D] Multithreaded programming:
  In which a single program is broken into multiple threads
  of control which interact to solve a single problem.

[E] Combinatorial optimization methods: 
  This involve dealing with complex problems of routing and
scheduling, network design, and facilities location. One of
my current research areas is in the development of hybrid
methods combining local search and population-based,
creating still more effective general purpose solution
techniques.  

[F] Large-scale Modeling and Simulation: 
  Involving DOD-sponsored (via CEWES) work that I have work on
  the area of computational fluid simulation. 
     http://www.wes.hpc.mil/pet/CEWES/CEWES_frame.html

As well as experience in: 

1. Database systems -- Oracle8, DB2; Algorithms 
   for data mining applications for e-commerce, etc. 

2. Knowledge of high-speed interprocessor communication
   protocols, including HIPPI, as well as distributed object
   protocols such as CORBA's IIOP. 

3. Artificial Intelligence - logical and probabilistic reasoning,
   planning, expert systems, vision, search, and knowledge representation.

Software/Hardware Systems and Languages 
--------------------------------------- 
1. Programming Skills: 
   Quite proficient in C (14 years), Java (since 1996), 
   Lisp, Prolog, Smalltalk, Fortran, C++ (3 years), 
   Modula-3, SQL. 

   Web design tools: HTML, CGI, Perl, JavaScript and XML. 
   Parallel programming tools: MPI and PVM.
   Current work involves: C/C++ - Java - Perl 
                      
2. OS knowledge and experience in: Unix (15 years), Solaris
   (5 years), Linux (3 years), VMS, IRIX (5 years), and 
   NT (over 2 years) 
   Current work invloves development on Solaris, NT, and
   Linux. 

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,
   Compaq-DEC stations, PCs, and Macs. 
   Current work uses Clusters of SUNs, and a host of Linux/NT-based 
   PCs.   

Related Work and Experience 
--------------------------- 
[A] Research Fellow: 
     Computer Science Dept, Syracuse University. Date: 93/94-95. 
     Research: 
  1. Neural modeling (biological) and Bayesian methods for classification
     and improvement of search  heuristics. (joint work with 
     the Institute of Sensory Research)

  2. Statistical analysis. (joint work with the Math dept)

  3. Large scale simulation of classification methods on clusters 
     of SMPs. (with NPAC)

  4. Natural Language Processing. (joint work with the Information 
     Studies Dept)

[B] Research Scientist:
     Northeast Parallel Architectures Center, 
     Syracuse, NY. Date: 1995 till now. 

  1. Worked on High Performance Computing using MPI and
     Java/MPI on clusters of NT-based and Sun workstations. 

  2. Worked (with other colleagues) on designing a virtual 
     programming laboratory (VPL) for programming in Java, 
     Java/MPI, C/MPI, on a network of workstations 
     (SUN, Compaq-DEC, HP). 
     Currently part of NPAC web-based distance education
     efforts, using a cluster of Sun Servers. 
        http://www.npac.syr.edu/Education/Courses/CPS615/ 
     Coded in Java and JavaScript. 

  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 approaches for data mining, detection of 
     credit card fraud, and resource allocation.
     Coded in C/C++ and Perl for pre-processing the data. 

  4. Working on Java-based tools for collaborative computing. 
     Mainly systems for application sharing, conferencing, scheduling,
     and distance learning. 
        http://www.javagrande.org 
        http://www.npac.syr.edu/tango/ 

  5. Fall 1996, 1997, and 1998 co-taught, with Geoffrey Fox,
     Computational Science for Simulation Applications and
     Parallel Computing. 
       http://www.npac.syr.edu/Education/Courses/CPS615/ 
     As well as distributed information systems: 
       http://www.npac.syr.edu/projects/cps606spring98/ 
     Tools and languages used: C/C++ & MPI, Java & MPI 

  6. Database Systems and JDBC on the Java side. 

  7. Working on coupling message-passing & other programming
     tools with Java for distributed and parallel computing. 
       http://www.npac.syr.edu/projects/pcrc/index.html 

  8. Working on hardware resources and software tools for
     NHSE. Also, software/hardware trade-offs in distributed
     computing environments.  
       http://nhse.npac.syr.edu 
                        
Languages and Communication Skills 
---------------------------------- 
 Have an excellent command of the English language as well as few 
 others.

Sample of Recent Reports 
------------------------ 
  1. S. Elmohamed and G. Fox, 
     Integration of Java-based Scientific Tools for Education with
     the Collaboratory System (Tango): Case study of Fluid Flow 
     and Monte Carlo Simulation. 
     (To appear) 

  ** MPI/Java demos of the Fluid Flow software were given at
     Supercomputing 1997 in San Jose and Supercomputing 1998 in
     Orlando, by our colleague Bryan Carpenter. 
     http://www.npac.syr.edu/projects/pcrc/index.html 

  2. S. Elmohamed and G. Fox, 
     Some issues of reducibility and equivalence in feedforward
     neural networks. (Revised 1999, submitted to IEEE Trans. on
     Neural Nets.)  

  3. S. Elmohamed, G. Fox, and P. Coddington, 
     Optimization Networks and Annealing for scheduling on a
     cluster of workstations, NPAC Tech Report, Syracuse
     University, 1997. (Revised 1999, submitted to Journal of
     Heuristics)  

  4. S. Elmohamed, G. C. Fox, and P. Coddington, A Comparison of
     Annealing Techniques for Academic Course Scheduling,
     Springer-Verlag Lecture Notes in Computer Science, Volume
     1408, 1998.  

Other Online Work 
-----------------
 That I have worked on:

 1. Development of CD-ROM materials for the US Army Corps of
    Engineers (CEWES). This is used for teaching computational
    science, parallel and distributed computing.
    http://www.wes.hpc.mil/pet/CEWES/CEWES_frame.html 

Few References 
-------------- 
    1. My boss and the first to be contacted: 
                    
       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. Dr. 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
-------------
 Eager to relocate to other regions.

Visa status 
----------- 
 I do have work authorization to work in the US. 
 