Subject: My resume with URLs, etc. (7/99)

From: Saleh Elmohamed <[email-masked]>
Date: Thu, 8 Jul 1999 20:43:59 -0400

Saleh Elmohamed
              111 College Place,
              NPAC, Rm 3-217
              Syracuse University
              Syracuse, NY 13244

  email:      [email-masked]
  Telephones: (315) 443-1073 (office)
              (315) 443-1973 (Fax)

  Career Objective
  ----------------
  Interested in opportunities in
  distributed systems (via objects,
  messaging and components), coupled 
  virtual environments, performance 
  analysis of large scale database 
  systems, high performance hardware/software 
  architecture, large scale modeling 
  and simulation, and algorithms and 
  heuristics for combinatorial optimization.

  Also I have worked on pattern/image
  recognition and data mining using neural
  and statistical methods/models, therefore,
  would be quite interested in any 
  research or developments opportunities 
  in this area as well. 

  Looking forward to join a group
  of highly motivated and intelligent
  researchers 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.
  Will be completing my PhD by 8/1999.

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

  [A] Distributed Computing: this
  includes parallelism and its 
  principles of granularity, locality,
  load balance, coordination and
  synchronization, and performance
  modeling. The focus here is on
  the shared-memory model due to 
  its complexity in dealing with
  issues of cache coherence,
  memory consistency, locking,
  atomic exchanges, and nonuniform
  memory access.

  [B] Large-scale modeling and
  simulation: invloving Java-based
  collabortive 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.

  [C] Combinatorial optimization
  methods: dealing with complex
  problems of scheduling and facilities
  location. My research/interest
  in this area is in the development
  of hybrid methods combining
  local search and population-based,
  creating still more effective
  general purpose solution techniques.
  Why a hybrid of these two approaches? 
  We know that population-based methods 
  are quite effective in finding regions 
  of the search space that contain 
  solutions of high quality, while local 
  search techniques are quite successful 
  in determining an optimal solution in 
  identified good regions of the search 
  space.

           -.-.-.-.-.-.-

  1. Resource management/allocation
     and scheduling on distributed
     computing environments.

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

  3. CC-NUMA and Cache Coherence
     protocols. Computer architecture,
     particularly parallel architecture
     and the interplay between software
     and hardware.
     http://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. Performance analysis and
     measurements for large scale
     distributed scientific 
     applications. This involved
     data access and communication,
     orchestration, dealing with
     programming models and 
     partitioning.

  7. Collaborative computing: 
     distributed presentations over
     the net, building Java-based 
     collaborative systems for 
     applications such as conferencing,
     command & control, and distance
     learning.
     http://www.npac.syr.edu/tango/

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

  9. Computational Science and Modeling,
     http://www.npac.syr.edu/projects/pcrc/

  10. Software Architecture 
      (particularly,object-oriented 
      software design and analysis)
      & design patterns.

  11. Database systems (RDBS, ODBS);
      Algorithms for data mining 
      applications for e-commerce, etc.

  12. Java & related technologies,
      such as EJB, and the use of
      CORBA services for scientific
      and engineering applications,
      and visual learning tools.

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

  14. Distributed Object Protocols
      such as CORBA's IIOP.

  15. Neural computing tools for 
      image/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.
     Current work using: C/C++ - Java - 
     Perl (for preprocessing)
     
  2. OS knowledge and experience in:
     Unix, Solaris, Linux, VMS, IRIX,
     and NT. 
     Current work: 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.
     http://nhse.npac.syr.edu
     My current work uses Clusters of
     SUNs, and a host of Linux/NT-based
     PCs.

  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 NT-based and Sun workstations.

  2. Assisted in 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/

  3. Designed and successfully implemented 
     scheduling and timetabling for Syracuse
     University using optimization-based
     methods such as simulated annealing,
     mean field, TS, and rule-based approaches. 

  4. Working on Java-based tools for
     Computational Science and Engineering.
     http://www.javagrande.org
     http://www.npac.syr.edu/projects/tutorials/JavaCSE/

  5. Fall 1996, 1997, and 1998,
     with Geoffrey Fox, assisted in teaching
     Computational Science for Simulation Applications
     and Parallel Computing. 
     http://www.npac.syr.edu/Education/Courses/CPS615/
     http://www.npac.syr.edu/users/saleh/homepage/
           PDC/notes-on-PDC/notes-on-PDC.html
     As well as distributed information
     systems:
     http://www.npac.syr.edu/projects/cps606spring98/

  6. Database Systems and JDBC on the Java side.

  7. Worked on pattern/image recognition 
     systems, and graph matching using neural,
     genetic, and mean field algorithms
     along with various statistical 
     models.

  8. Working on hardware resources
     and software tools for NHSE.
     http://nhse.npac.syr.edu
     http://www.nhse.org

  9. Working on issues of software/hardware 
     trade-offs in distributed computing
     environments.

  10. Data Analysis and data mining methods.

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

  Sample Reports
  --------------
  1. S. Elmohamed, G. Fox, Some issues of 
     reducibility and equivalence in
     feedforward neural networks, NPAC 
     TR 94-60, Syracuse University, 1996.
     (submitted for publication to IEEE Tran. 
      on Neural Networks) 

  2. S. Elmohamed, G. Fox, M. McMahon, 
     Web-based CFD Educational Example: 
     Parallel Implementations and 
     Analysis, NPAC Tech Report, 
     Syracuse University, 1997.
     
     ** MPI/Java demos of this
     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. 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.

  4. S. Elmohamed, G. Fox and P. Coddington, 
     Course scheduling using Mean-Field 
     Annealing, Part I: algorithm and Part II: 
     implementation, NPAC report SCCS-782.

  5. S. Elmohamed, Algorithms and Heuristics 
     for Combinatorial Optimization Problems: 
     Case Study of Constrained Course Scheduling, 
     PhD Dissertation and NPAC report 
     (to appear 8/99).

  Other Online Work
  -----------------
  Some I have worked on, some is
  work in progress, and others I'm 
  associated with.

  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
     education, and command & control
     problems.
     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/

  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: [email-masked]

  2. Dr. Paul D. Coddington, 
     Department of Computer Science, 
     University of Adelaide, 
     Adelaide, SA 5005,
     Australia.
     email: [email-masked]

  3. Professor Ernest Sibert,
     Engineering and Computer 
     Science, 111 College Place, 
     CST Bldg, Rm 2-120, 
     Syracuse, NY 13244.
     phone: 315-443-3110
     email: [email-masked]

  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: [email-masked]

  5. Dr. Nancy McCracken, 
     Engineering and Computer Science,
     Syracuse University, 
     111 College Place, CST Bldg,
     Syracuse, NY 13244.
     phone: 315-443-4687
     email: [email-masked]

  Work Location
  -------------
  I can relocate to other regions
  in the US, and yes, I do have 
  work permission.
  Starting date: August 99 or later.