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

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

Career Objectives 
-------------------------- 
[1] From my experience with the traditional models of distributed
    computing, particularly the shared memory model, I'd like to
investigate issues of scalability and how it can be handled in a
highly distributed environment of data, computing, and users. We know 
that in general, performance - such as message throughput - decreases
as the number of client-server connections increases, as might be 
expected. So, how to maintain that higher message throughput as the
number of connections increases is really on of the main issues
of scalability. 

[2] On such a highly distributed and scalable computing environment,
    I'd like to investigate (research as well as development) certain
computing applications for e-commerce, particularly those that 
heavily relies on methods of search as in data mining, as well as
distributed search. In this particular framework, my interest would be 
in the development of heuristics and algorithms to tackle these kind
of application. One particular example to try these methods on is 
the detection of credit card fraud.

[3] Would like to investigate types of component technology (e.g.
    Java-based) to determine those appropriate for high-performance
scientific computing. As well as integrating tools for parallel
computing with web-based collaborative components.

[4] Software is the backbone of any highly distributed or
    network-based computing; and to build such complex software perhaps
we might need to look into those models that share some of the
characteristics of human organizations, and, for example, grounded
in the concepts of agents, goals and softgoals. These might be the
kind of methods we need to use to help build the software for our
net-based computing infrastructures.

  Looking forward to join a group of highly motivated and 
intelligent researchers to work on these and other related
research and development goals. 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, 82-83; Master of Computer Science, Syracuse Univ. 1994; PhD
of Science in Computer Science, Syracuse Univ. (2/2000)

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 Java-based scientific 
      software tools for scheduling and distance education 
      on collaboratory systems.
   3. Design patterns for object-oriented systems.

[B] Distributed Computing
   (1) Traditional: 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 shared-memory model. 
 It is the most interesting but also the most complex to 
 deal with due mainly to issues of cache coherence, 
 locking, atomic exchanges, and nonuniform memory access.
 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

   (2) Java-based: particularly via EJB and the Jini model.

[C] Large-scale Collaborative Systems: 
   Particularly, Java-based collaboratory models used for distance 
 learning, planning and scheduling. My current work involve the
 integration of educational-based applications into tango to be used
 in a distributed fashion across the net. 
      http://www.npac.syr.edu/tango/ 

[D] Combinatorial optimization methods: 
 This involve dealing with real world large scale 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.  

[E] Large-scale Modeling and Simulation:
  An example is the DOD-sponsored (via CEWES through the 
 PET program) work that I have worked on in the area of 
 computational fluid simulation. 
     http://www.wes.hpc.mil/pet/CEWES/CEWES_frame.html

As well as experience in: 

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

2. Knowledge of high-speed interprocessor communication
   protocols, including HiPPI, as well as distributed object
   protocols such as CORBA's IIOP. Also, I have worked on
   ORBacus which is a Corba compliant open architecture for
   distributed solutions.

3. Artificial Intelligence - logical and probabilistic 
   reasoning, planning, expert systems, vision, search, 
   and knowledge representation. Distributed search 
   (ongoing joint work with Prof. Benjamin Wah at UIUC).


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

   Web design tools: HTML, CGI, Perl, JavaScript, XML, and DHTML. 
   Server-side Java programming: Servlets and EJB.
   Parallel programming tools: MPI and PVM.
   Current work involves: C/C++ - Java - JavaScript. 
                      
2. OS knowledge and experience in: Unix (15 years), Solaris
   (5 years), Linux (4 years), VMS, IRIX (5 years), and 
   NT (3 years) 
   Current work involves 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.   

Work and Research Experience 
----------------------------
[A] Research Fellow: 
     Computer Science Dept, Syracuse University. Date: 93-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.

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

[B] Research Scientist/Development Engineer:
     Northeast Parallel Architectures Center, 
     Syracuse, NY. Date: '95 till 12/1999.

  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 a scheduling 
     system for Syracuse University. At the heart of it is
     a host of optimization-based methods such as simulated 
     annealing, mean field, TS, genetic algorithms and 
     a rule-based approach. A multi-phase hybrid method of
     these techniques was used. Currently using similar 
     approaches for data mining, detection of credit card 
     fraud, and resource allocation.
     Coded in C/C++.

  4. Working on Java-based synchronization methods for collaborative 
     computing based applications. The use of these applications 
     would be for distance learning. 
        http://www.javagrande.org 
        http://www.npac.syr.edu/tango/ 

  5. Fall 1996, 1997, and 1998 co-taught, with Geoffrey 
     Fox and Nancy McCracken, 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 hardware resources and software tools for
     NHSE. Also, software/hardware trade-offs in distributed
     computing environments.  
       http://nhse.npac.syr.edu 

  8. Worked on large-scale pattern recognition and simulation
     via Bayesian Classification/Learning methods.
                        
Languages and Communication Skills 
---------------------------------- 
 Have an excellent command of the English language as well as
 few others.

Sample of Recent Reports
------------------------
  1. M. A. S. Elmohamed, Dongmin Kim, and G. C. Fox,
     Synchronization Methods for Collaborative Scientific 
     Applications. (Jan 2000). (To appear)
     
  2. M. A. S. Elmohamed, Dongmin Kim, and G. C. Fox, 
     Integration of Java-based Educational Scientific Tools
     with the Collaboratory System (Tango): Case study of Fluid 
     Flow and Monte Carlo Simulation. (Dec 99). (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 

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

  4. M. A. 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.

  5. M. A. S. Elmohamed, G. C. Fox, and P. Coddington, 
     Optimization Networks and Annealing for scheduling on a
     cluster of workstations, NPAC Tech Report, Syracuse
     University, 1997. (Revised 12/1999, to appear)
  
Other Online Work 
-----------------
    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. Professor Geoffrey C. Fox,     (Advisor)
       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
-------------
 Will relocate to other regions in the US.

Visa status 
----------- 
 I have work authorization to work in the US. 
 
Availability for work
---------------------
 2/2000 or any time afterward.
