%% LATEX TWICE TO GET THE REFERENCES RIGHT
\documentstyle[11pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\parskip=3pt plus 1pt minus 1pt
\overfullrule=0pt %no dark lines if overfull

\def \today {\ifcase \month \or January\or February\or  
  March\or April\or May\or June\or July\or August\or 
  September\or October\or November\or December\fi\   
  \number \day, \number \year}                       

\def\vbar{\mathchoice{\vrule height6.3ptdepth-.5ptwidth.8pt\kern-.8pt}
   {\vrule height6.3ptdepth-.5ptwidth.8pt\kern-.8pt}
   {\vrule height4.1ptdepth-.35ptwidth.6pt\kern-.6pt}
   {\vrule height3.1ptdepth-.25ptwidth.5pt\kern-.5pt}}
\def\fudge{\mathchoice{}{}{\mkern.5mu}{\mkern.8mu}}
\def\bbc#1#2{{\rm \mkern#2mu\vbar\mkern-#2mu#1}}
\def\bbb#1{{\rm I\mkern-3.5mu #1}}
\def\bba#1#2{{\rm #1\mkern-#2mu\fudge #1}}
\def\bb#1{{\count4=`#1 \advance\count4by-64 \ifcase\count4\or\bba A{11.5}\or
   \bbb B\or\bbc C{5}\or\bbb D\or\bbb E\or\bbb F \or\bbc G{5}\or\bbb H\or
   \bbb I\or\bbc J{3}\or\bbb K\or\bbb L \or\bbb M\or\bbb N\or\bbc O{5} \or
   \bbb P\or\bbc Q{5}\or\bbb R\or\bbc S{4.2}\or\bba T{10.5}\or\bbc U{5}\or
%%%   \bbb P\or\bbc Q{5}\or\bbb R\or\bba S{8}\or\bba T{10.5}\or\bbc U{5}\or
   \bba V{12}\or\bba W{16.5}\or\bba X{11}\or\bba Y{11.7}\or\bba Z{7.5}\fi}}
%
%
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
%%% read as: theFOOTNOTE (i.e. the command  executed when doing a footnote) is
%%% now to be set as a FOOTNOTESYMBOL (type of number) value of counter
%%% FOOTNOTE (Instead of Roman).  See LaTeX manual pp.91-92 as well as 175.
\def\bi{\begin{itemize}}
\def\ei{\end{itemize}}
\def\ben{\begin{enumerate}}
\def\een{\end{enumerate}}
\def\st{\, | \,}

\newcommand{\myboxineq}{\eqno\Box} %put \qed at margin (white square) in eqn
\newcommand{\qedineq}{\eqno\halmos} %put \qed at margin in eqn

\topmargin -0.50in %default is 0.0, i.e. 1 inch from top.  Now it is 0.5
\textheight 9in
\oddsidemargin 0.0in %more reasonable margins!  (This is 1.25; can use <0 too)
\evensidemargin 0.0in %(same as above)
\textwidth 6.25in %(could use also -.5,-.5,7.5 for instance)
\parskip=2pt plus 1pt minus 1pt
\overfullrule=0pt %no dark lines if overfull

%%%% FROM HERE, macros special for paper
\def\mm{m}
\def\pp{p}
\def\proj{\pi _1} % projection on first group of coordinates
\def\x{u}  % vector argument
\def\SEC{(SEC)}
\def\SECo{(SEC$^0$)}
\def\INV{(INV)}
\def\Fp{{\cal F}_\pp}
\def\Fpm{{\cal F}_\pp^\mm}  %there is a 3,3 and a 2,1 in text

\def\Rm{\R^m}
\def\Rn{\R^n}
\newcommand{\ball}[2]{{\bb B}(#1,#2)}
\newcommand{\cball}[2]{\overline {\bb B} (#1,#2)}
\def\Fnm{{\cal F}_n^\mm}
\def\clos{{\rm clos\,}}
\def\inter{{\rm int\,}}

\def\CCF{compatible class of functions}
\begin{document}

\pagestyle{empty}
\begin{flushright}
{\bf {\it R$\acute{e}$sum$\acute{e}$}}
\end{flushright}
\vfill
\begin{center} 

\hrule
\hrule
\hrule
\hrule
\hrule
\hrule
\hrule
\hrule
\hrule
\hrule
\vspace{.05cm}
\hrule
\hrule
\hrule
\vspace{.05cm}
\hrule
\hrule
\vspace{.05cm}
\hrule
\vspace{.05cm}
\hrule
\vspace{.25cm}

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\\
office: (315) 443-1073\\
Fax: (  315) 443-1973\\


\vspace{.25cm}
\hrule
\vspace{.05cm}
\hrule
\vspace{.05cm}
\hrule
\hrule
\vspace{.05cm}
\hrule
\hrule
\hrule
\vspace{.05cm}
\hrule
\hrule
\hrule
\hrule
\hrule
\vspace{1cm}
\end{center}
\vfill
\vfill
\vfill
\vfill
\vfill

\newpage
\pagestyle{plain}
\setcounter{page}{0}

\subsection*{Career Objective}

Interested in opportunities in software engineering, 
distributed systems, Java-based collaborative systems, 
large-scale statistical modeling and simulation, and 
database systems particularly in issues of performance 
on clusters of SMPs.

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.


\subsection*{Education}
\bi
\item PhD in Computer Science, Syracuse University, Syracuse, NY
 (projected: fall,1999).
\item Master of Science in Computer Science, Syracuse University.
\item Bachelor of Science in Mathematics and Computer Science,
 Michigan.
\ei

\subsection*{Areas of Knowledge}
My experience spans a number of software and hardware areas. 
    Here are what I consider my areas of expertise: 
\bi
\item Software Architecture

Summary:
\bi
\item Design, implementation, and analysis of process control 
           and scientific software tools and algorithms. 
\item Design and implementation of graph-based software tools 
           for real-time data filtering and analysis. 
\item Design and implementation of Java-based scientific 
           software tools for distance education on collaboratory
           systems.  
\item Optimization-based software tools. 
\ei

\item Distributed Computing

Summary: 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. As a result of this problem, performance of SMPs on
commercial workloads can actually be improved by doing something that
may look stupid: have multiple processors share a single cache. Well,
on the face of it, this may make the Von Neumann bottleneck worse,
however, it may increase the actual bandwidth, why? There is much more
bandwidth between a cache and its processor -even when shared- then
there is between units on the system bus.

http://nhse.npac.syr.edu/hpccsurvey/architecture/

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


\item Large-scale Collaborative Systems

Summary: 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/

\item Combinatorial optimization methods

Summary: 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. 

\item Large-scale Modeling and Simulation:
Involving DOD-sponsored (via CEWES) work that I have worked on
in areas of computational fluid dynamics and circuit simulations.

\item As well as experience in: 
\bi
\item Parallel compiler runtimes. 
http://www.npac.syr.edu/projects/pcrc/

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

\item Java and related technologies, such as EJB, and the use of 
           CORBA services for scientific and engineering applications.

\item Distributed Object Protocols such as CORBA's IIOP. 
\ei
\ei

\subsection*{Software/Hardware Systems and Languages}
\bi
\item {\bf Programming Skills}: 
\bi
\item Quite proficient in C (14 years), Java (since 1996), 
 Lisp, Prolog, Smalltalk, Fortran, C++ (3 years), Modula-3, SQL. 

\item Web design tools: HTML, CGI, Perl, JavaScript and XML.

\item Parallel programming tools: MPI and PVM.
\ei

\item OS knowledge and experience in: Unix (15 years), Solaris (5
  years), Linux (3 years), VMS, IRIX (5 years), and NT (over 2 years).

\item Hardware systems experience:

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. 
\ei

\subsection*{Related Experience}

\subsubsection*{Research Scientist}
{\it Organization: Northeast Parallel Architectures Center, Syracuse University,
 NY, (1995 till now)}.
\bi
\item Worked on High Performance Computing using MPI and
Java/MPI on clusters of NT-based and Sun workstations.

\item Worked 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. 

\item 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. 

\item Working on Java-based tools for collaborative
computing. Mainly systems for application sharing,
conferencing, scheduling, and distance learning. 
\bi
\item http://www.javagrande.org
\ei

\item Fall 1996, 1997, and 1998 co-taught, with Geoffrey Fox,
Computational Science for Simulation Applications and
Parallel Computing. 
\bi
\item http://www.npac.syr.edu/Education/Courses/CPS615/
\item
  http://www.npac.syr.edu/users/saleh/homepage/PDC/notes-on-PDC/notes-on-PDC.html
\ei

\item Working on Computational Methods for Distributed 
Information Systems, using Java-related technologies,
among others.

\item Database Systems and JDBC on the Java side.
\item Working on coupling message-passing and other programming
tools with Java for distributed and parallel computing. 
\bi
\item http://www.npac.syr.edu/projects/pcrc/index.html
\ei
\item Working on hardware resources and software tools for 
NHSE. Also, software/hardware trade-offs in distributed
             computing environments.  
\bi
\item http://nhse.npac.syr.edu
\ei

\item Work on parallel compiler runtime
\bi
\item http://www.npac.syr.edu/projects/pcrc/
\ei

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

\subsubsection*{Research Fellow}
{\it Organization: Computer and Information Science, Syracuse University,
 NY, (94-95)}.

Research and development on
\bi
\item Neural Modeling and Bayesian Methods for classification
and improvement of search heuristics.
\item Statistical Analysis. 
\item Large scale simulation of classification methods on 
clusters of SMPs. 
\ei

\subsubsection*{Languages and Communication Skills}
 Have an excellent command of the English language as well as 
few others.

\subsection*{Sample of Recent Reports}
\begin{enumerate}
\item S. Elmohamed and G. C. Fox, {\it Some issues of reducibility and
equivalence in feedforward neural networks}, NPAC TR 94-60, Syracuse
University, 1995. (Revised 1999, submitted to IEEE Trans. on
Neural Nets.)
\item S. Elmohamed, G. Fox, P. Coddington, {\it Optimization
Networks and Annealing for scheduling on a cluster of workstations},
NPAC Tech Report, Syracuse University, 1997.
\item S. Elmohamed and G. Fox, {\it Integration of Java-based
    Scientific Tools for Education with the Collaboratory System
    (Tango): Case study of Fluid Flow  and Monte Carlo
    Simulation}, NPAC report 1999. (To appear in Journal of Physics C)

** 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 

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

\end{enumerate}


\subsection*{References}
\bi
\item  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.
\bi
\item      phone: 315-443-2163,
\item      email: gcf@npac.syr.edu
\ei
\item Dr. Paul Coddington, Department of Computer Science,
      University of Adelaide, Adelaide, SA 5005, Australia.
\bi      
\item      email: paulc@cs.adelaide.edu.au
\ei
\item Professor Ernest Sibert, Engineering and Computer Science, 111
      College Place, CST Bldg, Rm 2-120, Syracuse, NY 13244.
\bi      
\item      phone: 315-443-3110, 
\item      email: eesibert@top.cis.syr.edu
\ei
\item Dr. Bryan Carpenter, Senior Research Scientist, NPAC, 111 College
      Place, CST Bldg, Rm 3-217, Syracuse, NY 13244-4100.
\bi
\item      phone: 315-443-5068,
\item      email: dbc@npac.syr.edu
\ei
\item Prof. Nancy McCracken, Engineering and Computer Science - NPAC,
      Syracuse University, 111 College Place, CST Bldg, Syracuse, NY
      13244.
\bi
\item      phone: 315-443-4687,
\item      email: njm@npac.syr.edu
\ei

\ei

\subsection*{Work Location and Visa Status}

Eager to relocate to other regions. I do have work 
authorization to work in the US. Starting date: August 99.

\end{document}
