27 research outputs found
Mechanisms for Outsourcing Computation via a Decentralized Market
As the number of personal computing and IoT devices grows rapidly, so does
the amount of computational power that is available at the edge. Since many of
these devices are often idle, there is a vast amount of computational power
that is currently untapped, and which could be used for outsourcing
computation. Existing solutions for harnessing this power, such as volunteer
computing (e.g., BOINC), are centralized platforms in which a single
organization or company can control participation and pricing. By contrast, an
open market of computational resources, where resource owners and resource
users trade directly with each other, could lead to greater participation and
more competitive pricing. To provide an open market, we introduce MODiCuM, a
decentralized system for outsourcing computation. MODiCuM deters participants
from misbehaving-which is a key problem in decentralized systems-by resolving
disputes via dedicated mediators and by imposing enforceable fines. However,
unlike other decentralized outsourcing solutions, MODiCuM minimizes
computational overhead since it does not require global trust in mediation
results. We provide analytical results proving that MODiCuM can deter
misbehavior, and we evaluate the overhead of MODiCuM using experimental results
based on an implementation of our platform
A Media Player for Use in Distance Education
We have developed a media player for use in distance education. The player can incorporate several time-indexed sources, including video, audio, PowerPoint, and text index. We have converted all the SMA 5503 Introduction to Algorithms lecture videos for use with the player. Student response to the player has been excellent.
The media player's graphical user interface (see Fig. 1) permits a student viewer to navigate a video by the text index. The text index can be produced either automatically by a PowerPoint plug-in developed by David Mycue of MIT's Academic Media Production Systems, or manually by a teaching assistant using an ordinary text editor. The student can flip easily through PowerPoint slides, invoking the video only when needed, rather than being forced to watch video presentation of material the student already understands.
The player also allows playback to be accelerated up to twice real-time speed without changing the speaker's tone, thereby allowing the student to watch a video in much less time that would otherwise be possible. A single-click button allows the student to skip backward in the video a few seconds, easing the replay of critical material. Another single-click button allows the user to skip forward.
Although none of the features in this media player are unique or original, their combination provides a platform for lecture viewing, superior to the one currently being used by SMA. Ongoing work on the player includes adding more features to the player, such as allowing students to add multiple streams of other information (e.g., notes, snapshots of the lecture, etc.) which will be synchronized with the video in the same manner as the text indices and the slides in the current version.Singapore-MIT Alliance (SMA
Volunteer computing
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2001.Includes bibliographical references (p. 205-216).This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.This thesis presents the idea of volunteer computing, which allows high-performance parallel computing networks to be formed easily, quickly, and inexpensively by enabling ordinary Internet users to share their computers' idle processing power without needing expert help. In recent years, projects such as SETI@home have demonstrated the great potential power of volunteer computing. In this thesis, we identify volunteer computing's further potentials, and show how these can be achieved. We present the Bayanihan system for web-based volunteer computing. Using Java applets, Bayanihan enables users to volunteer their computers by simply visiting a web page. This makes it possible to set up parallel computing networks in a matter of minutes compared to the hours, days, or weeks required by traditional NOW and metacomputing systems. At the same time, Bayanihan provides a flexible object-oriented software framework that makes it easy for programmers to write various applications, and for researchers to address issues such as adaptive parallelism, fault-tolerance, and scalability. Using Bayanihan, we develop a general-purpose runtime system and APIs, and show how volunteer computing's usefulness extends beyond solving esoteric mathematical problems to other, more practical, master-worker applications such as image rendering, distributed web-crawling, genetic algorithms, parametric analysis, and Monte Carlo simulations. By presenting a new API using the bulk synchronous parallel (BSP) model, we further show that contrary to popular belief and practice, volunteer computing need not be limited to master-worker applications, but can be used for coarse-grain message-passing programs as well. Finally, we address the new problem of maintaining reliability in the presence of malicious volunteers. We present and analyze traditional techniques such as voting, and new ones such as spot-checking, encrypted computation, and periodic obfuscation. Then, we show how these can be integrated in a new idea called credibility-based fault-tolerance, which uses probability estimates to limit and direct the use of redundancy. We validate this new idea with parallel Monte Carlo simulations, and show how it can achieve error rates several orders-of-magnitude smaller than traditional voting for the same slowdown.by Luis F.G. Sarmenta.Ph.D
Synchronous communication techniques for rationally clocked systems
Thesis (M.S.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1995.Includes bibliographical references (p. 203-205).by Luis Francisco G. Sarmenta.M.S
Phylo: A Citizen Science Approach for Improving Multiple Sequence Alignment
BACKGROUND: Comparative genomics, or the study of the relationships of genome structure and function across different species, offers a powerful tool for studying evolution, annotating genomes, and understanding the causes of various genetic disorders. However, aligning multiple sequences of DNA, an essential intermediate step for most types of analyses, is a difficult computational task. In parallel, citizen science, an approach that takes advantage of the fact that the human brain is exquisitely tuned to solving specific types of problems, is becoming increasingly popular. There, instances of hard computational problems are dispatched to a crowd of non-expert human game players and solutions are sent back to a central server. METHODOLOGY/PRINCIPAL FINDINGS: We introduce Phylo, a human-based computing framework applying "crowd sourcing" techniques to solve the Multiple Sequence Alignment (MSA) problem. The key idea of Phylo is to convert the MSA problem into a casual game that can be played by ordinary web users with a minimal prior knowledge of the biological context. We applied this strategy to improve the alignment of the promoters of disease-related genes from up to 44 vertebrate species. Since the launch in November 2010, we received more than 350,000 solutions submitted from more than 12,000 registered users. Our results show that solutions submitted contributed to improving the accuracy of up to 70% of the alignment blocks considered. CONCLUSIONS/SIGNIFICANCE: We demonstrate that, combined with classical algorithms, crowd computing techniques can be successfully used to help improving the accuracy of MSA. More importantly, we show that an NP-hard computational problem can be embedded in casual game that can be easily played by people without significant scientific training. This suggests that citizen science approaches can be used to exploit the billions of "human-brain peta-flops" of computation that are spent every day playing games. Phylo is available at: http://phylo.cs.mcgill.ca
Sabotage-Tolerance Mechanisms for Volunteer Computing Systems
In this paper, we address the new problem of protecting volunteer computing systems from malicious volunteers who submit erroneous results by presenting sabotagetolerance mechanisms that work without depending on checksums or cryptographic techniques. We first analyze the traditional technique of voting, and show how it reduces error rates exponentially with redundancy, but requires all work to be done at least twice, and does not work well when there are many saboteurs. We then present a new technique called spot-checking which reduces the error rate linearly (i.e., inversely) with the amount of work to be done, while only costing an extra fraction of the original time. We then integrate these mechanisms by presenting the new idea of credibility-based fault-tolerance, which uses probability estimates to efficiently limit and direct the use of redundancy. By using voting and spot-checking together, credibility-based fault-tolerance effectively allows us to exponentially shrink an already linearly-reduced error rate, and thus achieve error rates that are orders-of-magnitude smaller than those offered by voting or spot-checking alone. We validate this new idea with Monte Carlo simulations, and discuss how credibility-based fault tolerance can be used with other mechanisms and in other applications.
Bayanihan: Web-Based Volunteer Computing Using Java
. This paper presents and discusses the idea of Web-based volunteer computing, wherein people cooperate in solving a large parallel problem by using standard Web browsers to volunteer their computers' processing power. Because volunteering requires no prior human contact and very little technical knowledge, it becomes very easy to build very large volunteer computing networks. At its full potential, volunteer computing can make it possible to build world-wide massively parallel computing networks more powerful than any supercomputer. Even on a smaller, more practical scale, volunteer computing can be used within companies or institutions to provide supercomputer-like facilities by harnessing the computing power of existing workstations. Many interesting variations are possible such as networks of information appliances (NOIAs), paid volunteer systems, and barter trade of computing resources. In this paper, we discuss these intriguing possibilities, and identify several issues that wi..
An adaptive, fault-tolerant implementation of BSP for Java-based volunteer computing systems
Abstract. In recent years, there has been a surge of interest in Javabased volunteer computing systems, which aim to make it possible to build very large parallel computing networks very quickly by enabling users to join a parallel computation by simply visiting a web page and running a Java applet on a standard browser. A key research issue in implementing such systems is that of choosing an appropriate programming model. While traditional models such as MPI-like message-passing can and have been ported to Java-based systems, they are not generally well-suited to the heterogeneous and dynamic structure of volunteer computing systems, where nodes can join and leave a computation at any time. In this paper, we present an implementation of the Bulk Synchronous Parallel (BSP) model, which provides programmers with familiar message-passing and remote memory primitives while remaining exible enough to be used in dynamic environments. We show howwe have implemented this model using the Bayanihan software framework to enable programmers to port the growing base of BSP-based parallel applications to Java while achieving adaptive parallelism and protection against both the random faults and intentional sabotage that are possible in volunteer computing systems.