Our research
Content type
+
Downloads (421)
+
Events (355)
 
Groups (147)
+
News (2466)
 
People (825)
 
Projects (1015)
+
Publications (11430)
+
Videos (4861)
Labs
Research areas
Algorithms and theory47205 (208)
Communication and collaboration47188 (177)
Computational linguistics47189 (143)
Computational sciences47190 (159)
Computer systems and networking47191 (599)
Computer vision208594 (8)
Data mining and data management208595 (3)
Economics and computation47192 (81)
Education47193 (71)
Gaming47194 (63)
Graphics and multimedia47195 (178)
Hardware and devices47196 (173)
Health and well-being47197 (62)
Human-computer interaction47198 (715)
Machine learning and intelligence47200 (597)
Mobile computing208596 (7)
Quantum computing208597 (3)
Search, information retrieval, and knowledge management47199 (561)
Security and privacy47202 (218)
Social media208598 (5)
Social sciences47203 (219)
Software development, programming principles, tools, and languages47204 (495)
Speech recognition, synthesis, and dialog systems208599 (12)
Technology for emerging markets208600 (22)
1–25 of 599
Sort
Show 25 | 50 | 100
1234567Next 
Milovan Duric, Oscar Palomar, Aaron Smith, Milan Stanic, Osman Unsal, Adrian Cristal, Mateo Valero, Doug Burger, and Alex Veidenbaum
Publication details
Date: 1 July 2014
Type: Inproceeding
Lenin Ravindranath, Sharad Agarwal, Jitu Padhye, and Chris Riederer
Generations of computer programmers are taught to prefetch network objects in computer science classes. In practice, prefetching can be harmful to the user's wallet when she is on a limited or pay-per-byte cellular data plan. Many popular, professionally-written smartphone apps today prefetch large amounts of network data that the typical user may never use. We present Procrastinator, which automatically decides when to fetch each network object that an app requests. This decision is made based on whether...
Publication details
Date: 16 June 2014
Type: Proceedings
Publisher: ACM International Conference on Mobile Systems, Applications, and Services
Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM
Shuai Hao, Bin Liu, Suman Nath, William G.J. Halfond, and Ramesh Govindan
Publication details
Date: 1 June 2014
Type: Inproceeding
Publisher: ACM
Andrew Putnam, Adrian Caulfield, Eric Chung, Derek Chiou, Kypros Constantinides, John Demme, Hadi Esmaeilzadeh, Jeremy Fowers, Jan Gray, Michael Haselman, Scott Hauck, Stephen Heil, Amir Hormati, Joo-Young Kim, Sitaram Lanka, James R. Larus, Eric Peterson, Gopi Prashanth, Aaron Smith, Jason Thong, Phillip Yi Xiao, and Doug Burger
Publication details
Date: 1 June 2014
Type: Inproceeding
James Mickens
Pivot is a new JavaScript isolation framework for web applications. Pivot uses iframes as its low-level isolation containers, but it uses code rewriting to implement synchronous cross-domain interfaces atop the asynchronous cross-frame postMessage() primitive. Pivot layers a distributing scheduling abstraction across the frames, essentially treating each frame as a thread which can invoke RPCs that are serviced by external threads. By rewriting JavaScript call sites, Pivot can detect RPC invocations; Pivot...
Publication details
Date: 1 May 2014
Type: Inproceeding
Publisher: IEEE
Aleksandar Dragojević, Dushyanth Narayanan, Orion Hodson, and Miguel Castro
We describe the design and implementation of FaRM, a new main memory distributed computing platform that exploits RDMA communication to improve both latency and throughput by an order of magnitude relative to state of the art main memory systems that use TCP/IP. FaRM exposes the memory of machines in the cluster as a shared address space. Applications can allocate, read, write, and free objects in the address space. They can use distributed transactions to simplify dealing with complex corner cases that...
Publication details
Date: 4 April 2014
Type: Inproceeding
Publisher: USENIX
Wentao Han, Youshan Miao, Kaiwei Li, Ming Wu, Fan Yang, Lidong Zhou, Vijayan Prabhakaran, Wenguang Chen, and Enhong Chen
Temporal graphs capture changes in graphs over time and are becoming a subject that attracts increasing interest from the research communities, for example, to understand temporal characteristics of social interactions on a time-evolving social graph. Chronos is a storage and execution engine designed and optimized specifically for running in-memory iterative graph computation on temporal graphs. Locality is at the center of the Chronos design, where the in-memory layout of temporal graphs and the...
Publication details
Date: 1 April 2014
Type: Inproceeding
Publisher: EuroSys
Trinabh Gupta, Rayman Preet Singh, Amar Phanishayee, Jaeyeon Jung, and Ratul Mahajan
We present Bolt, a data management system for an emerging class of applications—those that manipulate data from connected devices in the home. It abstracts this data as a stream of time-tag-value records, with arbitrary, application-defined tags. For reliable sharing among applications, some of which may be running outside the home, Bolt uses untrusted cloud storage as seamless extension of local storage. It organizes data into chunks that contains multiple records and are individually compressed and...
Publication details
Date: 1 April 2014
Type: Inproceeding
Publisher: USENIX
James Mickens, Ed Nightingale, Jeremy Elson, Bin Fan, Asim Kadav, Vijay Chidambaram, Osama Khan, Krishna Nareddy, and Darren Gehring
Blizzard is a locality-oblivious, high-performance block store that exposes cloud storage to cloud-oblivious POSIX and Win32 applications. Blizzard connects clients and servers using a network with full-bisection bandwidth, allowing clients to access any remote disk as fast as if it were local. Using a novel striping scheme, Blizzard exposes high disk parallelism to both sequential and random workloads; also, by decoupling the durability and ordering requirements expressed by flush requests, Blizzard can...
Publication details
Date: 1 April 2014
Type: Inproceeding
Publisher: USENIX
Tolga Acar and Lan Nguyen
Past decade has witnessed the availability of Trusted Platform Modules (TPM) on commodity computers. While the most common use of TPM appears to be BitLocker on Windows OS, server class motherboards have not yet enjoyed a similar TPM deployment base. Recent research and products show that the TPM can provide a level of trust on locally executing software. Nonetheless, TPMs haven’t been utilized in data center cryptographic key management for higher levels of security assurance than software-only...
Publication details
Date: 1 April 2014
Type: Technical report
Publisher: Microsoft Research Technical Report
Number: MSR-TR-2014-49
eric chung, andreas nowatzyk, tom rodeheffer, chuck thacker, and fang yu
In this paper, we present AN3—a low-cost, circuit-switched datacenter network. AN3 replaces expensive IP switches with custom hardware that supports circuit-based switching efficiently and with low cost. AN3 is enabled by a new speculative transmission protocol that (1) enables rapid multiplexing of links to efficiently support many flows in a datacenter-scale computer, and (2) establishes setup and teardown of circuits within tens of microseconds—well below the TCP handshake delay. In simulations, AN3...
Publication details
Date: 12 March 2014
Type: Technical report
Number: MSR-TR-2014-35
Li Zhao, Jacob Brouwer, Jie Liu, Sean James, John Siegler, Aman Kansal, and Eric Peterson
Typically, improving data center availability requires designing in more infrastructure; the antithesis of reducing costs. Is there a way to cut infrastructure, cost and emissions while improving energy efficiency and server availability? We consider and evaluate the integration of fuel cells with IT hardware with various architectural designs, essentially collapsing the entire energy supply chain, from power plant to power supply unit, into the confines of a single server cabinet. In this paper, we...
Publication details
Date: 1 March 2014
Type: Technical report
Number: MSR-TR-2014-37
James Bornholt, Todd Mytkowicz, and Kathryn S. McKinley
Emerging applications increasingly use estimates such as sensor data (GPS), probabilistic models, machine learning, big data, and human data. Unfortunately, representing this uncertain data with discrete types (floats, integers, and booleans) encourages developers to pretend it is not probabilistic, which causes three types of uncertainty bugs. (1) Using estimates as facts ignores random error in estimates. (2) Computation compounds that error. (3) Boolean questions on probabilistic data induce false...
Publication details
Date: 1 March 2014
Type: Inproceeding
Publisher: Architectural Support for Programming Languages and Operating Systems (ASPLOS)
Todd Mytkowicz, Madanlal Musuvathi, and Wolfram Schulte
A finite-state machine (FSM) is an important abstraction for solving several problems, including regular-expression matching, tokenizing text, and Huffman decoding. FSM computations typically involve data-dependent iterations with unpredictable memory-access patterns making them difficult to parallelize. This paper describes a parallel algorithm for FSMs that breaks dependences across iterations by efficiently enumerating transitions from all possible states on each input symbol. This allows the algorithm...
Publication details
Date: 1 March 2014
Type: Inproceeding
Publisher: Architectural Support for Programming Languages and Operating Systems (ASPLOS)
Di Wang, Sriram Govindan, Anand Sivasubramaniam, Aman Kansal, Jie Liu, and Badriddine Khessib
While there has been prior work to underprovision the power distribution infrastructure for a datacenter to save costs, the ability to underprovision the backup power infrastructure, which contributes significantly to capital costs, is little explored. There are two main components in the backup infrastructure - Diesel Generators (DGs) and UPS units - which can both be underprovisioned (or even removed) in terms of their power and/or energy capacities. However, embarking on such underprovisioning mandates...
Publication details
Date: 1 March 2014
Type: Inproceeding
Publisher: ACM
Kartik Muralidharan, Azeem Javed Khan, Archan Misra, Rajesh Krishna Balan, and Sharad Agarwal
The inclusion of the barometer sensor in smartphones signaled an opportunity for aiding indoor localization efforts. In this paper, we therefore investigate a possible use of the barometer sensor for detecting vertically oriented activities. We start by showing the accuracies of various commodity measurement devices and the challenges they bring forth. We then show how to use the barometer values to build a predictor that can detect floor changes and the mode (elevator, escalator, or stairs) used to...
Publication details
Date: 26 February 2014
Type: Inproceeding
Publisher: ACM HotMobile
Brendan Murphy, JAcek Czerwonka, and Laurie Williams
The development of software products are often managed through the use of Version Control Systems (VCS). VSCs allow for versioning of source code and manage the process of merging newly developed code into the product primarily through the use of branches. The branching architecture and the development processes used by the product groups are inter-related and have often evolved over many releases to reflect unique aspects of the product, the development preferences of the team, and the structure of the...
Publication details
Date: 26 February 2014
Type: Technical report
Publisher: Microsoft Research
Number: MSR-TR-2014-23
Saeed Maleki, Madanlal Musuvathi, and Todd Mytkowicz
This paper proposes an efficient parallel algorithm for an important class of dynamic programming problems that includes Viterbi, Needleman-Wunsch, Smith-Waterman, and Longest Common Subsequence. In dynamic programming, the subproblems that do not depend on each other, and thus can be computed in parallel, form stages or wavefronts. The algorithm presented in this paper provides additional parallelism allowing multiple stages to be computed in parallel despite dependences among them. The correctness and...
Publication details
Date: 1 February 2014
Type: Inproceeding
Publisher: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP)
Jing Li, Anirudh Badam, Ranveer Chandra, Steven Swanson, Bruce Worthington, and Qi Zhang
Secure digital cards and embedded multimedia cards are pervasively used as secondary storage devices in portable electronics, such as smartphones and tablets. These devices cost under 70 cents per gigabyte. They deliver more than 4000 random IOPS and 70 MBps of sequential access bandwidth. Additionally, they operate at a peak power lower than 250 milliwatts. However, software storage stack above the device level on most existing mobile platforms is not optimized to exploit the low-energy characteristics...
Publication details
Date: 1 February 2014
Type: Proceedings
Publisher: USENIX
Florian Bourse, Marc Lelarge, and Milan Vojnovic
Balanced edge partition has emerged as a new approach to partition an input graph data for the purpose of scaling out parallel computations, which is of interest for several modern data analytics computation platforms, including platforms for iterative computations, machine learning problems, and graph databases. This new approach stands in a stark contrast to the traditional approach of balanced vertex partition, where for given number of partitions, the problem is to minimize the number of edges cut...
Publication details
Date: 1 February 2014
Type: Technical report
Number: MSR-TR-2014-20
Dan Alistarh, Oksana Denysyuk, Luis Rodrigues, and Nir Shavit
We consider the following natural problem: n failure-prone servers, communicating synchronously through message-passing, must assign themselves one-to-one to n distinct items. Existing literature suggests two possible approaches to this problem. First, model it as an instance of tight renaming in synchronous message-passing systems; for deterministic solutions, a tight bound of Omega (log n) communication rounds is known. Second, model the problem as a randomized load-balancing problem, which have elegant...
Publication details
Date: 1 February 2014
Type: Technical report
Number: MSR-TR-2014-17
Dan Alistarh, Justin Kopinsky, Jerry Li, and Nir Shavit
High-performance concurrent priority queues are essential for applications such as task scheduling and discrete event simulation. Unfortunately even the best performing implementations do not scale past a number of threads in the single digits. This is because of the sequential bottleneck in accessing the elements at the head of the queue in order to perform a DeleteMin operation. In this paper, we present the SprayList, a scalable priority queue with relaxed ordering semantics. Starting from a...
Publication details
Date: 1 February 2014
Type: Technical report
Number: MSR-TR-2014-16
Charalampos E. Tsourakakis, Christos Gkantsidis, Bozidar Radunovic, and Milan Vojnovic
Balanced graph partitioning in the streaming setting is a key problem to enable scalable and efficient computations on massive graph data such as web graphs, knowledge graphs, and graphs arising in the context of online social networks. Two families of heuristics for graph partitioning in the streaming setting are in wide use: place the newly arrived vertex in the cluster with the largest number of neighbors or in the cluster with the least number of non-neighbors. In this work, we introduce a...
Publication details
Date: 1 February 2014
Type: Inproceeding
Dan Alistarh, James Aspnes, Valerie King, and Jared Saia
We consider the problem of consensus in the challenging classic model. In this model, the adversary is adaptive; it can choose which processors crash at any point during the course of the algorithm. Further, communication is via asynchronous message passing: there is no known upper bound on the time to send a message from one processor to another, and all messages and coin flips are seen by the adversary. We describe a new randomized consensus protocol for this model with expected message complexity...
Publication details
Date: 1 February 2014
Type: Technical report
Number: MSR-TR-2014-15
1–25 of 599
Sort
Show 25 | 50 | 100
1234567Next 
> Our research