ALEXEY FEDOSOV
2130 Fulton Street
San Francisco CA 94117
Phone: 415.422.5185 work
E-mail: fedosov at usfca dot edu
To obtain a position in System Administration or Software Development
with emphasis on parallel / distributed systems.
Summary of Qualifications |
|
Experience: 10 years in System and Network administration with
emphasis on Linux clusters, and in Software Development
Languages: C, C++, Python, x86 assembly, Java
Operating Systems: Linux, Windows*, Mac OS X
Networking: TCP/IP suite, Ethernet, Myrinet, Infiniband, Routing, Firewalls
APIs: BSD sockets, pthreads, MPI, QT, pcap, Win32, DirectX, OpenGL, SDL, Winsock, CGI
Network Applications / Services: nfs, dhcpd / bootp / pxe, iptables,
iproute2, sendmail, postfix, mailman, BIND, samba, netreg, amd, autofs,
CUPS, Apache, OpenLDAP, MySQL, Perforce, AMANDA
Experience with kernel and device driver development under Linux
Experience with SMP and multithreaded programming
Thorough knowledge of PC hardware
University of San Francisco, San Francisco, CA
Director of Scientific Computing (08/08 - present),
Manager of Scientific Computing (06/06 - 08/08),
Cluster Administrator (08/01 - 06/06),
College of Arts & Sciences
Current projects and responsibilities (2008-present)
* Overseeing and maintaing the computing infrastructure of the College,
including several clusters and specialized scientific equpment
* Serving on various IT committees and participating in drafting IT policies
for the entire University
* Created and implemented a disaster recovery plan for the College data by
setting up data mirroring at an offsite location
* Managing 2 full-time staff and 10+ student workers
* Developed various web applications needed by the College (see below)
Cluster Next Generation (2006-present)
* Team lead on specification, and support of three Linux clusters
of various sizes (from 8 to 24 nodes)
* Infiniband, Myrinet, Gigabit
* Specified power and cooling requirements to support the new
infrastructure
* Interface with system vendors to obtain and evaluate quotes and
proposals
* Assembled and deployed a cluster from scratch
Flashmob Supercomputer
(2004)
* Set up a test environment to run experiments and preliminary benchmarks
* Contributed code to the custom Linux kernel used on the FlashMob CD
* Oversaw the setup of the computers and network equipment before the event
* Tested sections of the cluster by running Linpack on a subset of nodes,
troubleshooting as necessary
* Oversaw execution of the Linpack benchmark once the machine was assembled
and ready
Keck Cluster (2001-2006)
* Set up (2001) 64-node Beowulf cluster connected by a Myrinet and a
Fast Ethernet networks
* Set up various supporting hardware for the cluster
(BayTech power distribution units, APC UPS)
* Installed Red Hat/Fedora Linux on the cluster via kickstart
* Installed and configured various MPI implementations (MPICH, MPICH-GM, LAM)
* Installed and configured different scientific software packages, such as ATLAS, BLAS, LAPACK, SCALAPACK, PLAPACK, PETSC, and ParMetis
* Built a server to provide NFS, DHCP, DNS services for the cluster
* Developed a node management tool (in C and Python) to control node allocation
Kudlick Classroom (2001-2002)
* Participated in the design and specification of the technical aspects of the Kudlick Classroom (a multimedia teaching facility)
* Oversaw the computer equipment budget
* Designed and specified the network infrastructure and the student workstations
Department of Computer Science (2001-present)
* Currently overseeing 64 lab workstations, 64 cluster nodes, and 20+
servers in addition to faculty personal and research systems
* Currently maintaining the department's mail, web, DNS, LDAP, and Samba servers
* Set up and currently maintaining the department's network infrastructure,
including a Gigabit Ethernet network, firewall and routers
* Built and deployed disk images for the Computer Science lab machines via kickstart under Linux and Symantec Ghost under Windows.
* Set up and maintaining LDAP servers and accounts for 1000+ users
* Provided end-user support (Linux and Windows) for faculty and students
* Taught courses in Assembly Language and Systems Programming
University of San Francisco, San Francisco, CA
Research Assistant, Systems Research Group (06/99 - 05/01)
* Participated in a research project on memory performance, cache coherency,
and computation granularity on the Pentium family of processors
* Developed Linux kernel modules for programming Pentium performance counters and an API for user-level access to them
* Created a suite of tools (in C & Perl) to facilitate program monitoring using performance counters
* Designed and implemented a new user-space thread package for Linux with support for Scheduler Activations
* Implemented new Linux system calls for the Scheduler Activation mechanism and added support for it to an existing pthreads package
University of San Francisco, San Francisco, CA
M.S., Computer Science (12/09)
GPA: 4.0
University of San Francisco, San Francisco, CA
B.S., Computer Science, Mathematics minor (5/01)
Magna Cum Laude
A. Fedosov A Python-based Framework for Distributed Programming and Rapid Prototyping of Distributed Programming Models.
Master's Thesis. December 2009.
A. Fedosov, G. Benson Communication with
Super-Flexible Messaging. Proceedings of the Parallel and
Distributed Techniques and Applications Conference (PDPTA 2007). June
2007.
G. Benson, A. Fedosov Python-Based Distributed
Programming with Trickle. Proceedings of the Parallel and
Distributed Techniques and Applications Conference (PDPTA 2007). June
2007.
G. Benson, M. Butner, A. Fedosov, S. Padden
The Virtual Processor Interface: Linux Kernel Support for User-level Thread
Systems.
Proceedings of the Parallel and Distributed Computing and Systems Conference
(PDCS 2003). November 2003.
Building a Better Netreg. An article on creating a
custom wireless registration system with Linux.
Python/QT Tutorial.
A tutorial on building Python GUI appplications with QT.
Master's Thesis: A Python-based Framework for Distributed Programming and Rapid Prototyping of Distributed Programming Models (09/05 - 12/09)
* River is a Python-based framework for rapid prototyping of reliable parallel
and distributed run-time systems. The current quest for new parallel
programming models is hampered, in part, by the time and complexity required
to develop dynamic run-time support and network communication.
The simplicity of the River core combined with Python's
dynamic typing and concise notation makes it possible to go from a design
idea to a working implementation in a matter of days or even hours. With the
ability to test and throw away several implementations River allows
researchers to explore a large design space. In addition, the River core and
new extensions can be used directly to develop parallel and distributed
applications in Python.
Faculty Development Fund (9/09 - present)
* Designed and implemented a web app to aid in the Faculty Development Fund
application submission process and review using Python and mySQL backend.
MathCandy (6/05 - present)
* Designed and implemented a web app to aid in faculty hiring process and
application review using Pythong and mySQL backend. Currently used de facto
for all faculty searches in the College of Arts & Sciences.
pyRyll (4/05 - 5/05)
* As part of a two-person team, rewrote the Ryll game (see below) in Python
and SDL (with pygame). The network layer was written from scratch and
uses peer-to-peer networking, based on multicast, instead of a
client-server model.
td2000 (3/05 - 4/05)
* A file sharing program implementation (written in Python and QT) supporting
decentralized (no central server) operation using multicast.
AXEmail (10/04 - 12/04)
* As part of a two-person team, implemented a fully-featured web-based e-mail
system in Java with a mySQL backend
Book Shopping Agent (03/03 - 05/03)
* Created a book shopping agent in Python with CGI that used Amazon Web
Services to perform book searches and make intelligent suggestions based on
user's choices.
Node Control System (12/01 - 6/02)
* Designed and implemented a node reservation / check-out system for USF CS
computing clusters.
Parallel Compiler (08/01 - 12/01)
* Implemented a parallel compiler for the mySAL programming language that
generated Python MPI code
Return to Ryll: A Multi-player game (08/00 - 05/01)
* As team leader on a game project sponsored by Blizzard North, designed
and implemented the infrastructure for a cross-platform multi-player
persistent-world online action game. Developed a multi-threaded server
application to support up to 1024 players. Also developed the graphics
and sound libraries using DirectX API under Windows and SDL under Linux
Linux device driver for 3COM 3C905 NIC (08/00 - 12/00)
* Created a device driver for the Linux kernel for the 3COM 3C905B network
card based on specifications published by 3COM. (Not to be confused with
the real kernel driver; this was merely my own attempt at writing a Linux
network driver.)
References available upon request.