C - Electrical and Computer Engineering Department

advertisement
CAREER: Research in Elastically Redundant Computing as a Catalyst for
Seamless Hardware/Software Education
Project Description
a. RESULTS FROM PRIOR NSF SUPPORT
NSF/ONR-0224743
PI: Dr. Agustín Irizarry-Rivera. Amount: $399,978 Effective Dates: Oct. 1, 2002-Sept. 30, 2004
Title: Intelligent Power Routers for Distributed Coordination in Electric Energy Processing Networks
The PI is involved in this NSF/ONR project as a CoPI. The project goal is to develop a model for the
next generation of power distribution networks using a distributed concept based on scalable
coordination by an Intelligent Power Router (IPR). The project hopes to demonstrate that by distributing
network intelligence and control functions using the IPR improved survivability, security, reliability, and
reconfigurability can be achieved. The IPR project gathers a multidisciplinary team from power
engineering, systems, control, distributed computing, and computer networks. In the IPR system control
can be detached from central control sites, and delegated to intelligent power routers that are strategically
distributed over the entire Electric Energy Processing Network. The first model of a programmable IPR
is currently being developed by the PI in collaboration with a multidisciplinary team professors and
gradate students using the University of South Carolina Virtual Test Bed Environment (VTB). The
prototype is expected to be available for experimentation by October of 2003.
b. CAREER DEVELOPMENT PLAN
b.1. OVERVIEW
The PI proposes a career plan comprised of a strong research component aimed at the design and
development of elastically redundant computing systems coupled with an aggressive educational
component conducing to a qualitative improvement of the Computer Science and Engineering curricula
at the University of Puerto Rico Mayaguez.
Elastically Redundant Computing Systems (ERCS) incorporate algorithms that sustain a desired level of
data availability even in the presence of online changes to the topology of a distributed storage system.
Central to this work is the thesis that a dynamic balance among data replication and data migration must
be carefully maintained in order to sustain a desired level of availability while maximizing storage
utilization.1 The research pretends to empirically demonstrate the inherent trade off between utilization
and availability (Figure 1) in distributed storage systems as well as to introduce a simple modeling
framework of a distributed storage cluster (DSC). A DSC is comprised of one or more storage nodes
collaborating to provide an image of a single storage system. The need for ERIS arises because DSC’s
often suffer changes in the number of storage nodes to accommodate dynamic changes in the demands
for storage bandwidth and/or capacity. Adding storage nodes to a DSC may increase the expectation of
the number of failures thus potentially decreasing data availability. We are particularly interested in
DSC’s to (from) which nodes can be added (removed) at any time during the operation of a system
without interruption. Preliminary results from simulations of different elastic redundancy algorithms
1
Data replication is one of the most common mechanisms for introducing redundancy to a system. In the remainder
of this proposal the terms redundancy and replication will be used interchangeably.
using this DSC model suggest that ERCS are desirable even in small scale DSC’s (order of ten storage
nodes). This early exploratory research evidences a practical need for ERCS.
Availability
Desirable
F(#nodes) = Near Constant
Minimum
Utilization (U)
Maximum
Utilization (U)
No Distribution
Uniform
distribution
Maximum
Availability (A)
Minimum
Availability (A)
Threshold
A(t)
(Minimal tolerable availability)
A
U
systems with
static redundancy
?
# Nodes
8
#Nodes
15
Figure 1. Relationship between availability (A(t), utilization U and DSC size
ERCS arises in several different contexts and at different levels of abstraction. Examples of relevant
distributed storage systems include: distributed files systems, RAID systems and distributed database
systems, among others. Some of these systems typically belong to the realm of Computer Architecture
while others are the subject of study in courses in Operating Systems. As a result, the proposed research
component provides a strong foundation for the adaptation of existing, and the development of new,
learning tools and laboratory experiences to help students bridge the often obscured abstraction barriers
that lie between hardware and software. Although much progress has been achieved, the PI believes
than, from his experiences teaching hardware and software courses at different institutions, further work
in this direction is still much need.
Since his affiliation with the UPRM in 2000, the PI has been actively leading important processes at the
UPRM conducting to significant outcomes expected to materialize within the next two to three years
including: (1) the creation of a brand new undergraduate program in Computer Science and Engineering
offered by the UPRM School of Engineering, a program unique in its class in Puerto Rico, (2) the
reorganization of the Department of Electrical and Computer Engineering (ECE) into two sister
departments; one in ECE and a new Computer and Information Sciences and Engineering Department
(CISE), (3) a major reorganization of the recently created doctoral program in CISE. The PI seeks NSF
support from this CAREER award to provide a critical final boost to these ongoing curricular
improvement processes.
b.2. OBJECTIVES AND SIGNIFICANCE OF PROPOSED ACTIVITIES
Objectives
The main research objectives of the proposed career plan here are:

Develop a solid theoretical framework for studying ERCS. Develop a modeling framework to
empirically demonstrate that ERCS are of real practical importance. Uncover the functional
relationships between availability and DSC size for different ERCS approaches. Build the first
ERCS prototype system.

Catapult the PI’s research agenda into the area of systems research with a particular emphasis on
gaining a deep understanding as well as designing and developing elastically redundant
computing systems.

Stimulate the involvement of talented Puerto Rican engineering students in competitive state-ofthe art research projects leading to the development of new distributed system technologies of
both scientific and commercial value.

Contribute to the continued growth of thriving computing research groups at the University of
Puerto Rico Mayaguez Campus (UPRM).

Create new and strengthen existing collaborative research relationships between the UPRM and
world-leading research institutions in CISE.

Demonstrate that the UPRM can become a world class scientific research institution in CISE
areas.
The main educational objectives are:

Provide critical support to the final stages of development and eventual ABET accreditation of
the first Computer Science and Engineering undergraduate program ever implemented in a
Puerto Rican School of Engineering.

Provide critical support for the ongoing administrative and academic reorganization of both
undergraduate and graduate CISE academic programs at the UPRM.

Enhance the undergraduate Computing curricula at UPRM to improve the integration between
Computer Architecture (Hardware) and Operating Systems (Software) courses by adapting and
developing learning tools and laboratory experiences to help students deeply understand how the
OS implements important abstractions on top of the Architecture.
Intellectual Merits
The PI proposes an ambitious yet viable career plan with strong research and education components.
On the research side, the intellectual merit mainly resides on the importance and relevance of the
proposed research problem in today’s world. The proliferation of Internet access and consequently of
Internet services has renovated the interest of the computing research community on the security and
reliability of computing systems. Fault tolerance computing has evolved from a feature affordable only
by large institutions to a commodity item. However, multi-scalar high performance computer
architectures have not suffered the same fate and still remain an item affordable by the few. In order to
provide fast response times and high transaction throughput to a potentially large customer base,
companies have resorted to loosely coupled architectures or clusters build form off-the-shelf
components. In order to provide continuous 24/7 service clusters must tolerate dynamic additions and
removals of computing nodes in response to component failures or resource reallocations. The PI
proposes re-visiting the idea of replication, vastly explored since the 70’s, but this time with a different
set of design constraints.
The education component leverages on the research component in order to improve the way in which
students learn about the Hardware/Software interface. ERCS provides a fertile ground for the
development of laboratory experiences along these lines. The PI proposes adapting and extending
currently available computer architecture learning tools to allow the development of laboratory modules
illustrating the implementation of OS abstractions at the bare instruction set architecture (ISA) level. For
instance, the popular SPIM simulator (MIPS) supports a comprehensive set of the MIPS instructions set
and basic support for exceptions. However, SPIM does not quite implement MIPS support for system
calls, virtual memory or I/O devices. Such features are essential to provide students with a
comprehensive view of the inner workings of an OS.
Broader Impacts
Both research and education components of the proposed career plan have an enormous potential for
achieving broader impacts. Research in ERCS has the potential to yield new system designs and
algorithms for providing sustained availability at an affordable cost thus reaching a broad customer base.
With this goal in mind the PI’s effort will be focused on exploring ERCS for the types of cluster systems
commonly used to support Internet services (e-services). NSF/CAREER funds are being requested to
equip the PI’s research group with a small cluster of this kind as an experimental test bed.
The education component has the potential to significantly deepen student understanding of OS
abstraction implementation not only at the UPRM, but world-wide through the distribution, free-ofcharge, of all educational material developed under this grant on existing web accessible portals
dedicated to the dissemination of learning materials and tools in Computer Science. Moreover, the PI’s
leadership in the reorganization and curricular implementations of Computing Programs at the UPRM
will undoubtedly benefit talented Puerto Rican engineering students wishing to pursue CISE careers, but
currently deterred from doing so due to a limitation of resources required to attend institutions in
mainland US or in other countries. The UPRM undergraduate student population is virtually 100%
Hispanic and fifty percent of all Computer Engineering are women. So this grant will have a decisive
positive impact on underrepresented minorities and women, a current national priority, not only during
the award period, but for generations to come.
b.3. RELATION OF CAREER PLAN TO CURRENT STATE OF KNOWLEDGE
In general, data replication has been a subject of active research for over 30 years. The literature on the
subject is extensive, but due to space limitations only an extract of the most relevant previous work is
presented here. Approaches to data replication can be classified into four different groups: Consensus
Based, Data Trading, Caching, and RAID.
Consensus-based systems, also known as voting replication system, disseminate replicated data to
various nodes in a network with a certain degree of correctness. In order to identify the correctness of
the data that arrive to a given node, the method requires comparing the data that arrive to that of the other
nodes. Since the correctness of the data at each receiving node in the network is uncertain, in order to
decide whether the data is correct, the method uses consensus between the nodes. Each node casts a vote
and the majority determines which data is correct. If a node does not belongs to the majority, is either
disabled or the data is resent to it. The availability of the system depends on the correctness of the data,
which depends in turn, on the count of nodes involved in the voting process. The count of nodes has to
be sufficiently large to overcome the “Byzantine failure assumption”, this is, a majority of incorrect
votes. Consensus-based replication is more concerned with the problem of coordinating object updates
so that the latest update is always available, ERCS is more concerned with determining how many copies
should be kept in order to sustain a specific availability level In fact, ERCS and consensus based systems
complement each other. Examples of consensus-based systems are [20] and [5].
The next replication method is Data Trading. This method is characterized, as the name suggests, by
the exchange of dating among nodes. For instance, if a node A has 1GB of data and 2GB of spare
allocation space, and a node B, with a similar description, interchange part or all of their data, the result
is that data from node A will be replicated in node B, and vice versa. The actual interchange is usually
done thru a communication network. This interchange is driven by the help of a set of particular policies.
These policies determine the conditions under which the nodes form a relationship. The relationship can
be a free exchange society or one based economic factors. The rules involved in the relationship have to
be determined, as well. For example, the amount of resources used in an interchange can be determined
by a load balancing scheme, or be restricted by time constraints, or by other type of policy. Although the
level of redundancy in the system may vary dynamically, the system does not have enough control of
how much it redundancy varies across the system. Data Trading was never designed with the same
constraints as ERCS. For instance, the system may reach a state in which some objects have no
replication and objects nodes are excessively replicated. Examples of data trading systems include [13]
and [33].
In Caching, storage is partitioned so that the primary copies of objects remain separate from the
replicas. Typically, the replicas are located closer to the data consumer and in smaller memories for
faster access. This type of storage organization is primarily designed for performance instead of
reliability. When the cached data is modified the primary copies are modified according to a policy
specifying how and when the change propagation is going to be performed. The Caching method is
adequate for data that does not change too often. Otherwise, it requires a mechanism for getting
consistent updates and conflict resolutions among the participating nodes. This is usually done by a
Consensus method. Two examples of caching systems are [1] and [26].
Redundant arrays of inexpensive disks (RAID) are similar to ERCS in their use of replication to
overcome the loss in reliability due to the use of multiple storage nodes with independent failure modes.
Different RAID levels were originally proposed based on four parameters: the percentage of replication,
the type of redundancy used (parity or full), the size of the data unit (striped or not striped), and the
location or arrangement (distributed or not) of the units in the group of nodes (discs). What distinguishes
RAID form ERCS is that these parameters are normally fixed at the time the system is configured.
Examples of RAID systems are: [28] and [12].
A distributed storage system is said to be elastically redundant if it incorporates algorithms that
automate the choice between migration and replication in order to maintain a desired level of availability
in the presence to dynamic changes to the number of nodes. The PI is not aware of any system that
incorporates such algorithms. There have been distributed file systems that provide a level of replication
that is fixed at system configuration time [22]. Others provide facilities to create objects with different
levels of replication [19]. Deceit [31] provides operations to dynamically alter the level of replication of
a file. However, none of these systems automatically adjusts the level of replication in response to a
change in the number of nodes.
b.4. DETAILED PLAN OF WORK
Research Task #1: ERCS Theoretical Framework
Ideally, when a DSC node fails, the remaining nodes should transparently take over the responsibilities
of the failed node. The system as a whole should not fail, but rather should recover and continue
operating at the maximum capacity possible. This requires that the data stored by the failed node be
made accessible to the node or nodes taking over its duties. The process of making data from a failed
node available to other nodes is called data failover. When the failed node recovers it should get its
(possibly updated) data from the nodes that replaced it. This process is called data failback. A process
similar to failback is also applied when nodes are added to a DSC to increase system capacity. In this
case data can be reorganized and the new node is assigned some portion of the data. In order to take
advantage of the increase in storage capacity the cluster software has two basic alternatives. It can
replicate, that is, store additional copies of objects in the new node (Figure 2a) or it can migrate (Figure
2b) some copies of objects to the new node.
2 nodes
X
y
2 nodes
X
y
X
y
2
nodes
added
X
y
X
y
X
y
2
nodes
added
X
y
X
y
X
x
4 nodes
y
y
4 nodes
(a)
(b)
Figure 2. Replication vs. Migration: (a) Replication increases the number of copies, (b) Migration
redistributes existing copies.
If objects are very seldom updated and most often read, replication is typically an acceptable
alternative. This is due to the fact that many replication algorithms, including voting and primary copy
are capable of implementing much faster writes than reads [19]. When the frequency of writes is large
enough that the increase in the cost on write operations is not acceptable, migration should be considered.
But why not just use migration? This section presents informal arguments as to why relying exclusively
on migration will decrease availability. Formalizing these arguments is one important goal of the
proposed research plan.
Elastic replication requires solving two problems: (1) deciding when to replicate and when to migrate,
and (2) carrying out the operations consistently in the presence of failures. The proposed research will
focus on (1). The existence of systems that allow dynamic changes to the level of replication of objects
demonstrates that (2) is achievable with known algorithms. The PI proposes to structure this research
around the following hypotheses:
H1: If a system relies exclusively on migration as a way to use the storage capacity contributed by
a new node, its availability will decrease.
H2:
A system must alternate migration with replication if it wishes to maintaining a desired level
of availability at minimal cost
H3:
Replication should be applied much less often than migration
H2 is not quite independent form the others. It follows from H1 and the fact that replication increases
operation costs. A simple informal argument that H1 and H3 are true can be formulated under the
following simplifying assumptions about a DSC with n nodes:
A1: DSC keeps exactly k of copies of each object
A2: Initially n = k
A3: n increases k nodes at a time
A4: No network partitions occur
Under these assumptions a system of n nodes keeping k copies of each object can always be
represented in matrix form as shown in Figure 3. Each box represents a storage node and contains one
or more objects represented by the letters inside the boxes. It will be assumed that objects can be
partitioned by a object-node equivalence relation that assigns objects whose copies are stored in the same
set of nodes to the same equivalence class. Two objects are related if their copies are stored in exactly
the same set of nodes. The number q represents the number of equivalence classes in such partition. The
rows in Figure 3 represent the set of nodes holding objects of one equivalence class. In the figure, X
and W belong to a different classes, but X and Y belong to the same class.
Example: k = 3, n = 6, q = 2
X
Y
X
Y
X
Y
W
Z
W
Z
W
Z
q
k
32
Figure 3. A DSC n=6 nodes and k=3 copies of each of the objects
The argument is twofold. First, if only migration is used, the maximal availability attained by a system
of q classes after adding k nodes is obtained by re-partitioning the objects into q+1 groups so that the set
of nodes where each group has copies is disjoint with that of any other class. The reason why this is true
is that in such a system each single node failure can only touch one group. The probability that k nodes
of the same group will fail, with the consequent total failure, is smaller that when the number of groups
touched by each failure increases. But this must be the case when the sets of nodes of different groups
overlap.
For the second part of the argument notice that a total failure occurs when all the nodes in one class
fail. The probability that this happens is q * p ^ k where p is the probability that each node fails.
Therefore the availability A(k,q) of the system is one minus this probability that is,
A(k,q) = 1 - q * pk
This result informally demonstrates that a system relying exclusively on migration will suffer from
steady decreases in availability. A formal proof will be elaborated with support form this CAREER
award. It remains to be shown whether this decrease in availability is significant for real systems. Also,
the impact that relaxing the simplifying assumptions will have on this result must determined. These
questions are central to the theoretical foundations aspects of the proposed research plan.
Research Task #2: ERCS Modeling Framework
A DSC can be modeled as a Boolean O x D storage matrix SM[o,d]. The storage matrix relates a set of
objects O to the set pf storage nodes D where they reside at any given point in time. The value of
SM[o,d] is 1 when at least one copy of object o resides in node d. SM[o,d] equals zero otherwise.
Figure 4 shows three storage matrices. The matrix on the left represents a DSC storing a total of 4
objects, all of them stored in storage node 0. Storage nodes 1 to 3 are empty. The middle matrix shows
another DSC storing 4 objects evenly distributed amount its 4 storage nodes. This middle DSC may have
resulted from the migration of objects stored in the left DSC. The matrix on the right illustrates a DSC
storing 2 copies of each of 4 objects. The copies have been fairly evenly distributed among storage nodes
1 to 3, but storage node 0 holds one copy of each object.
0
1
2
3
0
1
0
0
0
1
1
0
0
0
2
1
0
0
0
3
1
0
0
0

Migration
0
1
2
3
0
1
0
0
0
1
0
1
0
0
2
0
0
1
0
3
0
0
0
1

Replication
0
1
2
3
0
1
1
0
0
1
1
0
1
0
2
1
0
0
1
3
1
0
1
0
Figure 4. DSC matrix, [rows, columns] = [objects, nodes]. Migration and replication example.
In this simplified model it is assumed that all objects stored in the DSC are equally necessary and
therefore that the system is available
is available. The system fails if
0 1 if
2 at
3 least
4 5 one
6 7copy
8 9of each
60% object
Redundancy
all copies of any single object0 become
1 0 1 unavailable.
0 0 0 0 0 In
0 general,
0
40%the
Up availability A(t ) of a system at some
1 0 1 0 1 0 0 0 0 0 0
point in time t is the probability
that the system is available at time t whether or not it has suffered any
2 1 0 1 0 0 0 0 0 0 0
failures in the past. In our case,
the DSC is available until we encounter a system failure.
3
0
1
0
1
0
0
0
0
0
0
4 1 0 the
1 likelihood
0 0 0 0 of
0 system
0 0
Replication can be used to reduce
failures. Note that if one node of the DSC
5 0in 1that
0 node
1 0 all
0 0become
0 0 0unreachable. However, had those objects been
becomes unreachable the objects
6 1 0 0 0 0 0 0 0 0 0
10% Down
replicated to other nodes of the
DSC they would still be reachable,
meaning that the system as a whole
7 1 0 0 0 0 0 0 0 0 0
would remain available. The way in which the objects are arranged in the DSC and the total amount of
8 1 0 0 0 0 0 0 0 0 0
replicas of each object are crucial
factors in determining the availability of the system.
9 1 0 0 0 0 0 0 0 0 0
0
1
2
3
4
5
6
7
8
9
60%
Redundancy
0
1
0
1
0
0
0
0
0
0
0
40%
Up
1
0
1
0
1
0
0
0
0
0
0
2
1
0
1
0
0
0
0
0
0
0
3
0
1
0
1
0
0
0
0
0
0
4
1
0
1
0
0
0
0
0
0
0
5
0
1
0
1
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
20%
Down
7
0
1
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
Figure 5. DSC Combining Replication with Migration
Availability is easy to achieve via replication if one is not concerned with storage utilization and
performance. From the theoretical discussion above it follows that some combination of migration and
replication must be used if one desires to achieve high utilization and performance and simultaneously
maintain availability above a threshold. Figure 5 illustrates a storage matrix for a DSC storing 10
objects across 10 storage nodes. Objects 0-5 are stored in nodes 0-3, and objects 6-9 are stored in nodes
0-1. Storage nodes 4-9 remain empty. Lets call that section of the matrix containing rows 0-5 the upper
section and the section containing rows 6-9 the lower section. The upper section is the section that holds
replicated objects, while the lower section holds migrated objects. This DSC uses 4 out of 10 storage
nodes (40% utilization) in the upper section and 2 out of 10 (20% utilization) in the lower section. Note
that the upper section has a highest redundancy factor than the lower section. The number of rows in the
upper region is the remainder of dividing the number of copies by the number of original objects. In
Figure 5, the upper region contains 6 rows, the remainder of dividing 6 (copies) by 10 (original objects).
Clearly, there are many ways in which objects can be arranged in a DSC. Let’s first consider two
extreme cases. In Figure 6 all objects are stored in a single node, an approach that can be named zerodistribution. In Figure 7, objects are evenly distributed in as many nodes as possible, an approached that
can be named full-distribution. Each of these two arrangements embodies a distinct, although trivial,
family of elastic redundancy algorithms. The zero-distribution algorithms simply ignore additions of
nodes to the DSC. All objects are stored in a single node at all times. Full distribution algorithms
migrate some of the objects to maintain a uniform distribution of objects across nodes.
0
1
2
3
4
5
6
7
8
9
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
Figure 6. No distribution extreme case.
These two extreme algorithms achieve widely opposing objectives. The zero-distribution algorithm
maximizes availability at the expense of reducing storage utilization. Since all objects are stored in a
single node, the system only fails if the specific node holding the objects fails. The full-distribution
algorithm maximizes utilization at the expense of reducing availability. In this case, any node failure will
cause a system failure. The proposed research plan will investigate alternatives between these extremes.
0
1
0
1
2
0
1
2
3
4
5
6
7
8
9
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
2
1
2
1
0
2
0
0
1
2
0
0
1
0
0
0
0
0
0
0
3
1
3
0
1
3
1
0
0
3
0
0
0
1
0
0
0
0
0
0
4
1
4
1
0
4
0
1
0
4
0
0
0
0
1
0
0
0
0
0
5
1
5
0
1
5
0
0
1
5
0
0
0
0
0
1
0
0
0
0
6
1
6
1
0
6
1
0
0
6
0
0
0
0
0
0
1
0
0
0
7
1
7
0
1
7
0
1
0
7
0
0
0
0
0
0
0
1
0
0
8
1
8
1
0
8
0
0
1
8
0
0
0
0
0
0
0
0
1
0
9
1
9
0
1
9
1
0
0
9
0
0
0
0
0
0
0
0
0
1
0
(A)

(B)

(C)

(D)
Figure 7. Full distribution ALGORITHM. (A) DSC initial state. (B) DSC after adding one node. (C) DSC
after adding next node. (D) Keep adding nodes until #nodes = #objects.
This simple modeling framework serves as a starting point in the exploration of alternative elastic
redundancy algorithms. DSC growth (shrinking) can be modeled by adding columns to the matrix and
reorganizing the objects. The Availability of each configuration will be approximated using a discrete
event simulation that calculates, for each node, whether the node has failed since the last time step. A
total system failure will occur whenever at least one of the objects becomes inaccessible. With the
support form a small seed sub-grant from the PRECISE project (NSF-EIA Grant 99-77071 PI Domingo
Rodriguez. See attached support letter) the PI and a masters level student developed a rudimentary
simulator and are beginning to obtain interesting results. For instance Figure 8 plots the MTTF vs DSC
size for three ERCS algorithms: full-distribution, zero-distribution (centric) and a hybrid distribution
algorithm currently under experimentation. The Figure confirms the rapid decrease in Availability when
objects are uniformly distributed across al nodes and the sustained level of availability possible in no
distribution of objects is done. The PI is convinced that in order to make significant progress provision
of additional funds for a sustained period of time will be required in order to involve UPRM PhD
students. Due to the expiration of the awarding period, PRECISE support to this project will end in May
2004.
MTTF (in week)
Comparison of Uniform Full Distribution,
Centric Distribution and Hybrid Distribution
1800
1600
1400
1200
1000
800
600
400
200
0
Hybrid
Centric
Uniform
Algorithm
0
20
40
60
80
100
#Nodes
Figure 8. MTTF vs. DSC size in nodes: alg1 is full distribution, alg2 is no distribution.
Research Task #3: ERCS Prototype Implementation
Beginning the third year of the award period (2006) the PI will lead a team of PhD students in the
design the first real elastically redundancy system. The ideal abstraction level at which the system will
be build is still a matter of research. Some possibilities include the development of a distributed file
system in software or the development a new RAID-type distributed storage system in a
Hardware/Software design.
Research Component Time Frame
2004
2005
2006
2007
2008
RT1: Development of Theoretical
Framework
RT2: Development of Modeling
Framework
RT3: Implementation of ERCS Prototype
Education Task #1: Development of undergraduate CISE Curricula at UPRM
To this day the only bachelor level academic degrees in Computing offered at the UPRM is a BS in
Computer Engineering (CpE) offered by the Department of Electrical and Computer Engineering and a
BS in Mathematics with a Computer Science option offered by the Department of Mathematics. The
Computer Engineering program is a five year program heavily loaded with courses in many areas of
Electrical Engineering. The Computer Science component consists of 16 (out of a total of 168 credits)
credits in programming, data structures, programming languages, compilers, operating systems and
software engineering. At the UPRM a course is typically 3 credits worth. The program is monolithic in
nature permitting a mere 9 credits in technical elective courses. In response to the most recent ABET
accreditation cycle (2002) the CpE program is currently undergoing a major curricular revision including
the creation of specialty tracks in computing systems, embedded systems and digital signal processing.
Three years ago, under the leadership of the PI, a new program in Computer Science and Engineering
was designed and a formal proposal was presented to the UPRM authorities. As of summer of 2003, the
proposal has already been approved by the academic senate and is on its way to the upper layers of the
UPRM administration. Much work remains to be accomplished before the proposal gets finally approved
and the program can start operating. Each approval requires an enormous amount of effort in order to
explain and justify the benefits of approving the program to the corresponding decision makers. A
CAREER award will further strengthen the credibility of the PI and will provide the necessary time
release to carry out this extenuating, but crucial process. The PI strongly believes that the new program
in CSE offered by the UPRM will open unique doors of opportunity to Puerto Rican students for
generations to come. Hi is firmly convinced that the UPRM School of Engineering is the only place
within the University of Puerto Rico system amenable to the development of a world class Computer
Science research and education initiative.
Education Task #2: Reorganization of Computing Programs at UPRM
The PI will continue his proactive involvement and leadership in the reorganization of the Department
of Electrical and Computer Engineering into two sister departments; one in ECE and one in CISE. A
formal proposal was submitted to the UPRM authorities and as of summer of 2003 it has already been
approved by the Department of Electrical and Computer Engineering unanimously. The proposal is
expected to obtain approval by the School of Engineering by August of 2003. Due to strong support
from the Central Administration, fast track treatment of the proposal is expected and a new CISE
Department is forecasted to be operational by August 2004.
The PI will also continue his involvement in the restructuring of the multidisciplinary doctoral program
in CISE both as member of the CISE PhD steering committee as well as member of the doctoral faculty.
The goal of this restructuring is to provide the program with and identity in terms the thriving research
thrusts that have demonstrated the greatest potential during the first three years since the establishment of
the program. With strong support from the Direction (See attached support letter) the PI will work
towards a major reformulation of the curriculum in terms of a Computer Science core and a set of
specialty tracks organized around the selected research thrusts. The current research thrusts as organized
in various research groups namely; Advanced Data Management, High Performance Computing,
Computational Signal Processing and Scientific Computing. Again, support from an NSF CAREER
award will provide the PI with release time required to carry out this important effort.
Education Task #3: Integrative Architecture/OS Learning Tools
Work on this task will be aimed at providing students with suitable tools to heighten their
understanding of hardware/software interfaces. The PI experience both taking courses and teaching
courses in computer organization in different competitive programs and at different levels has led him to
believe that undergraduate students often complete their course work without a deep understanding of the
mechanisms used to implement some of the important abstractions offered by modern operating systems.
Two examples of such abstractions are a kernel and a process. Students know that processes exist at the
OS level, but they seldom appreciate the “magic” involved in the implementation of this abstraction on
top of architectures providing different levels of support. The PI believes that laboratory experiences
designed to illustrate the type of support required/desirable from the architecture to implement these
abstractions are scarce.
The PI proposes the development and adaptation of existing learning tools geared toward illustrating,
via simulation, alternative mechanisms for implementing atomic context switches on top of the bare
instruction set architecture. More specifically, the deliverables of this effort will include:

A VHDL specification of a simple processor and its testing framework circuitry specially crafted
to be used as a learning tool by undergraduate students in combination with a VHDL simulation
environment.

An extension to the SPIM simulator (http://www.cs.wisc.edu/~larus/spim.html) to implement the
MIPS processor support for system calls, preemptive scheduling and virtual memory.

SPIM modules to implement a simple pre-emptive multithreaded operating system kernel in
MIPS assembly language, including a simple yet extensible scheduler and a timer interrupt
device.
Education Component Time Frame
2004
2005
2006
2007
2008
ET1: Development of BS CISE Program
ET2: Reorganization of CISE Programs
ET3: Development/Adaptation of
Integrative Architecture/OS learning tools
b.5. RELATION OF CAREER PLAN TO PI’S CAREER GOALS AND JOB RESPONSIBILITIES
The research component of this career plan is intended to catapult the PI’s research effort into the area
of reliable distributed systems.
Since his affiliation with the UPRM in 2000, the PI has been actively leading important processes
leading to the improvement of computing programs at the UPRM. Soon after his affiliation the PI was
elected by his peers as the coordinator of the software specialty area committee. The coordinator
foresees all the curricular issues pertaining to the courses traditionally taught in Computer Science
programs including Computer Programming, Data Structures, Programming Languages, Compilers,
Architecture and Operating Systems, among others. The committee is often consulted on issues
pertaining to Computing programs as was the main force behind the development a brand new program
in Computer Science and Engineering. To this day the PI remains as the coordinator, after being reelected once.
The PI also serves a a member of the interdepartmental committee coordinating the recently approved
multidisciplinary doctoral program in CISE (www.ece.uprm.edu/phd). In addition, the PI is a member of
the ECE Department’s Planning Committee responsible for the design and implementation of the
Department’s master developmental plans. This committee proposes any internal academic and
administrative reorganization of the personnel associated with the ECE Department. Finally , the is the
ECE Department representative at the School of Engineering academic affairs committee, the committee
that approves all new program proposals and curricular revisions in the School of Engineering, before
they go to the UPRM Academic Senate.
The PI’s educational and teaching background serves as a strong foundation for developing Computer
Science and Engineering curricula. During his academic preparation he attended four (4) institutions of
higher learning: the University of Puerto Rico at Río Piedras (transferred 1984), Cornell University (BA
Computer Science 1986), the University of California at Berkeley (MS Computer Science 1988) and the
Massachusetts Institute of Technology (PhD Computer Science 1999). Each of these institutions offers
a different perspective of what a top rated education in Computer Science should be. The PI has served
as teaching assistant in several CS courses at both the undergraduate and graduate levels including
undergraduate compilers, graduate programming language design and undergraduate programming and
data structures.
By December of 2003, the PI would have offered three core undergraduate courses for CSE Students:
Advanced Programming (CS1), Computer Architecture, Programming Languages, and Compiler Design.
As a graduate student the PI served as a teaching assistant in undergraduate introductory Computer
Science courses (e.g. 6.001 at MIT taught by Prof. Gerald J. Sussman), undergraduate compiler design
courses (CS 164 at UC Berkeley taught by Prof. Lawrence Rowe) and a graduate level programming
languages course (6.821 at MIT taught by Prof. David K. Gifford). This broad spectrum of previous
educational experiences in Computer Science has provided the PI with a deep understanding of both the
current state of Computer Science education as well as of the strengths and weaknesses of the UPR
Computing curriculum across multiple CS subdisciplines and intellectual levels.
NSF support in the form of a CAREER award coupled with strong support from people in key
leadership positions in the UPRM (See Support Letters) administration will place the PI in an ideal and
unique position to propel the thorough execution of the integrated research and education career plans
outlined in this proposal. The consecution of these outcomes will undoubtedly result in a qualitative
improvement of the academic and research offerings locally available to talented Puerto Rican students.
Many of these students do not have the means necessary to leave the Island to pursue a degree at an
institution in mainland United States.
b.6. SUMMARY OF PREVIOUS RESEARCH AND EDUCATION ACCOMPLISHMENTS
Research Accomplishments
The PI’s major previous research accomplishments can be summarized as follows:

HyPursuit Project (1997): Developed a novel version of MIT’s content routing system that
exploited document clustering techniques based on both the content and the link structure of web
pages in order to produce content labels or summaries if the information contained inside a
search engine. This project was one of the first attempts to analyze the hypertext structure of
web pages and put it to work in the improvement of information retrieval effectiveness.
Graduate students collaborating in this project included Ron Weiss and Mark Sheldon.
Most Relevant Publication: [39]; Website: www.psrg.lcs.mit.edu

Inforadar Project (1999): As part of his doctoral work at MIT’s Laboratory of Computer
Science, under the supervision of Dr. David K. Gifford, the PI developed a novel search engine
capable of automatically and dynamically generating categories based on the documents
retrieved in response to a query. Inforadar generates and populates the categories with absolutely
no human intervention. Inforadar introduced the concept of query lookahead, that is, the eager
evaluation of queries derived from a user query in order to improve the quality of categories
selected for organizing the results sets.
Most Relevant Publication: [35] ; Website: admg.ece.uprm.edu/~inforadar
More recently the PI has been and continues to be involved in the following research projects:

InforadarML Project (2000): This project consists of extending the Inforadar system with the
capability to process and serve multilingual document collections. The UPRM has proven to be
an ideal environment for this type of experimentation due to the inherently multilingual life style
in Puerto Rico. The project is currently focused on exploring alternative document ranking
algorithms as well as on developing performance metrics suitable to assess the effectiveness of
multi-lingual IR systems. The design of InforadarML is uniquely focused on users with equal
proficiency in multiple languages. Most previous research efforts in multilingual information
retrieval systems centered around the problem of query translation.
Most Relevant Publication: [36]; Website: admg.ece.uprm.edu/~inforadar

TU-PIS Project (2001): The TU-PIS pretends to develop a ubiquitous and interactive passenger
information system for the brand new 16 Km subway system currently being deployed in the San
Juan metropolitan area. The PIS integrates various state-of-the art information technologies
including: world wide web, virtual reality, real time computing and interactive movie authoring
environments. Completely developed in Macromedia Flash from scratch TU-PIS offers an aerial
vivid view of the real-time locations of the mass transit vehicles transiting in the 500 meters
periphery of each train station. Flash allows the PI and his students to assess the suitability of
interactive movie authoring environments for developing new types of applications.
Most Relevant Publication: [24]; Website: admg.ece.uprm.edu/~tu-pis

Terrascope Project (2002): The emergence of multimedia technologies and the possibility of
sharing and distributing geospatial data through broadband computer networks have exacerbated
the need for geographical information technologies. In the typical scenario, geospatial data is
periodically collected at geographically distributed ground stations which often span several
technical, administrative and even political domains. Solutions attempting to offer integrated
access to distributed data by relying on centralization of data repositories are often not feasible.
The inherently distributed nature of geospatial data should be of no concern to scientists,
students and other data consumers. The information system should enable and facilitate
collaboration among a set of distributed data providers who wish to provide an image of a single
data repository with minimal loss of individual autonomy over their data. Based on this principle
we are designing and developing the TerraScope Earth Science distributed peer-to-peer
database middleware system.
Most Relevant Publication: [11]; Website: admg.ece.uprm.edu/~terrascope
It was mentioned early in this proposal that one of the PI’s primary career plan objectives in obtaining
NSF support is to catapult the PI’s research agenda into the area of systems research with a particular
emphasis on the design and development of novel elastically redundant computing systems. The PI
firmly believes that elastically ERCS are fertile ground for research breakthroughs in what IBM has
recently begun to call Autonomic Computing. The following is an extract from IBM’s autonomic
computing website (http://www.research.ibm.com/autonomic):
“As access to information becomes omnipresent through PC's, hand-held and wireless devices, the
stability of current infrastructure, systems, and data is at an increasingly greater risk to suffer outages
and general disrepair. IBM believes that we are quickly reaching a threshold moment in the evolution
of the industry's views toward computing in general and the associated infrastructure, middleware,
and services that maintain them. The increasing system complexity is reaching a level beyond human
ability to manage and secure.”
Although the PI first conceived ERCS in 1998, well before the autonomic computing project was
established, the design goals for ERCS have a stinking resemblance to the design goals of autonomic
computing systems which in IBM terms are:

Flexibility. The system will be able to sift data via a platform- and device-agnostic approach.

Availability. The nature of the autonomic system is that it is always on.

Transparency. The system will perform its tasks and adapt to a user's needs without dragging the
user into the intricacies of its workings.
Elastic redundancy simply pretends to seek ways to automate the necessary adjustments to the level of
redundancy maintained by a system necessary to guarantee a minimal level of Availability above. The
PI, together with other UPRM computer scientists recently submitted a $100K equipment grant proposal
to IBM after conversations with IBM research staff form the IBM Austin Research demonstrated a string
interest and support from IBM in collaborating hand in hand with the UPRM in the ERCS project. The
equipment obtained from this grant will be used as a test bed for ERCS ideas, experiments and
prototypes.
Education Accomplishments
The major educational accomplishments achieved by the PI can be summarized as follows:

Has been coordinating the ECE Department specialty area committee in computing systems for
over three years during which critical events occurred that will shape the future of computing
programs at the UPRM.

Represented the computing faculty in dialogues with the EE faculty which resulted in the
reorganization of the ECE Department into two sister Departments: ECE and CISE. The
reorganization is unanimously supported by the entire ECE faculty, the Dean, the Chancellor and
the President of UPR. A formal proposal has been approved by the ECE department an wil be
under the consideration of the College of Engineering in August of 2003. Due to strong support
at all levels it is expected that a new department will be in place in August of 2004.

Lead in the formulation of the first revision of the UPRM Computer Engineering curriculum in
twenty years. The original curriculum only left room for 9 out of 168 credit units in computes
science electives and was heavily oriented toward electrical engineering. The new curriculum is
structured in various tiers allowing the students to specialize on one of three areas: computing
systems, hardware and embedded systems and digital signal processing.

Proposed and designed the first undergraduate engineering program in Computer Science in
Puerto Rico. The five year program offers a degree in CSE as well as a degree in Software
Engineering. This required a major transportation and much lobbing by the PI and other UPRM
professors.

Modernized the computer organization course for undergraduate Computer Engineering students.
For over twenty years the course had been taught with a heavy emphasis on two aspects: learning
assembly language programming and learning the specifics of the Intel family of
microprocessors. The PI, aware that this approach will not prepare students adequately for upper
level course in, for instance, compilers and operating systems, decided to teach the course
beginning in the spring of 2002. The PI implemented a holistic approach that focused on
fundamental pervasive concepts in Computing like: interpretation, abstraction, computing
models, computability, among others. The need to support higher level computing and data
abstractions at the OS and upper layers is a central theme throughout the course.
Download