EE380 Computer Systems Colloquium

EE380 Computer Systems Colloquium

Topic: 
Time Traveling Hardware and Software Systems
Abstract / Description: 

With the imminent demise of Moore's Law, the importance of parallel computing is only increasing. However, efficient parallel computing with ease of programmability still remains elusive. Shared memory multiprocessors and online Transaction processing systems make it easier on the programmer. Current systems either exclusively use physical time to order transactions, or logical time (e.g., Lamport clocks) and are limited in performance and/or scalability.

We introduce a new concept of time called physi-logical (physiological for ease of pronunciation!) time that combines the strengths of physical and logical time while avoiding their problems. The key advantage of physiological time is that it enables an application to move memory operations (load/stores) forward and backwards in time in order to avoid conflicts. We have designed, implemented and evaluated two time-traveling systems in the form of a new cache coherence protocol Tardis for multi-core CPUs and a new concurrency control algorithm TicToc for on-line transaction processing database systems. Both algorithms are simpler, more scalable, and perform better than existing state-of-the-art implementations. The talk will end with describing how physiological time can be used in a distributed operating environment.

Joint work with Xiangyao Yu, Andy Pavlo and Daniel Sanchez.


 

The Stanford EE Computer Systems Colloquium (EE380) meets on Wednesdays 4:30-5:45 throughout the academic year. Talks are given before a live audience in Room B03 in the basement of the Gates Computer Science Building on the Stanford Campus. The live talks (and the videos hosted at Stanford and on YouTube) are open to the public.

Date and Time: 
Wednesday, November 9, 2016 - 4:30pm to 5:30pm
Venue: 
Gates B03

EE380 Computer Systems Colloquium

Topic: 
Building systems using malicious components: how I learned to stop worrying and trust SNARK proofs
Abstract / Description: 

"Computers are unreliable and vulnerable to attacks. Therefore, we shouldn't believe what they say, unless they prove its correctness." Imagine how much more robust our systems and networks would be, if they could be built on this tenet! But how can we succinctly prove that some complex computation was not corrupted, and actually produced the correct output? Can this be done efficiently? And how would such proofs be used and propagated in a larger system?

In recent years, there has been dramatic progress in the theory and implementation of cryptographic proof systems with the requisite properties: zero-knowledge Noninteractive ARguments of Knowledge (zkSNARK) and its extension to Proof-Carrying Data.

We will survey this progress, and discuss several applications:

  • Ensuring the integrity of any logic circuit, or any C programs 
  • Zerocash: Preserving users' privacy in Bitcoin-like cryptocurrencies 
  • ProtoProof: Verifying the authenticity of edited photographs

Includes joint work with Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Daniel Genkin, Matthew Green, Ian Miers, Assa Naveh, Gilad Roth and Madars Virza.


 

The Stanford EE Computer Systems Colloquium (EE380) meets on Wednesdays 4:30-5:45 throughout the academic year. Talks are given before a live audience in Room B03 in the basement of the Gates Computer Science Building on the Stanford Campus. The live talks (and the videos hosted at Stanford and on YouTube) are open to the public.

Date and Time: 
Wednesday, October 26, 2016 - 4:30pm
Venue: 
Gates B03

EE380 Computer Systems Colloquium

Topic: 
Engineering Cyber Resiliencyy A Pragmatic* Approach
Abstract / Description: 

Absolute security is science fantasy, and perfection is the enemy of good. Good engineers realize the wisdom of that statement, and strive to develop tools, abstractions, and mechanisms that provide desired properties (like resiliency) with known certainty. But providing such properties at a specified level is easier said than done, especially for properties that are probabilistic and systems that are complex distributed combinations of hardware and software.

This talk explores attempts to provide cyber resiliency in systems that are used in critical applications. It argues that CAD tools are needed at design time to choose between alternative resiliency mechanisms, and that resiliency mechanisms are needed that provide redundancy, diversity, and adaptive behavior. It also argues that runtime sensing mechanisms need to correlate information from diverse sensors to expose attackers. Finally, it argues that by focusing on adaptation mechanisms that operate on effects rather than attacks, a system can tolerate many zero-day attacks. Taken together, we describe our work towards a pragmatic, but not perfect, approach to engineer resiliency into cyber systems for use in critical applications.


 

The Stanford EE Computer Systems Colloquium (EE380) meets on Wednesdays 4:30-5:45 throughout the academic year. Talks are given before a live audience in Room B03 in the basement of the Gates Computer Science Building on the Stanford Campus. The live talks (and the videos hosted at Stanford and on YouTube) are open to the public.

Date and Time: 
Wednesday, October 19, 2016 - 4:30pm
Venue: 
Gates B03

EE380 Computer Systems Colloquium

Topic: 
Machine Learning: Concepts and questions as programming
Abstract / Description: 

Both AI and cognitive science can gain by studying the human solutions to difficult computational problems [1]. My talk will focus on two problems: concept learning and question asking. Compared to the best algorithms, people can learn new concepts from fewer examples, and then use their concepts in richer ways -- for imagination, extrapolation, and explanation, not just classification. Moreover, learning is often an active process; people can ask rich and probing questions in order to reduce uncertainty, while standard active learning algorithms ask simple and stereotyped queries. I will discuss my work on program induction as a cognitive model and potential solution for extracting richer concepts from less data, with applications to learning handwritten characters [2] and learning recursive visual concepts from examples. I will also discuss program synthesis as a model of question asking in simple games [3].

[1] Lake, B. M., Ullman, T. D., Tenenbaum, J. B., and Gershman, S. J. (2016). Building machines that learn and think like people. Preprint available on arXiv:1604.00289.
[2] Lake, B. M., Salakhutdinov, R., and Tenenbaum, J. B. (2015). Human-level concept learning through probabilistic program induction. Science, 350(6266), 1332-1338.
[3] Rothe, A., Lake, B. M., and Gureckis, T. M. (2016). Asking and evaluating natural language questions. In Proceedings of the 38th Annual Conference of the Cognitive Science Society.


 

The Stanford EE Computer Systems Colloquium (EE380) meets on Wednesdays 4:30-5:45 throughout the academic year. Talks are given before a live audience in Room B03 in the basement of the Gates Computer Science Building on the Stanford Campus. The live talks (and the videos hosted at Stanford and on YouTube) are open to the public.

Date and Time: 
Wednesday, October 12, 2016 - 4:30pm
Venue: 
Gates B03

EE380 Computer Systems Colloquium

Topic: 
HPC Opportunities in Deep Learning
Abstract / Description: 

Just this year, deep learning has fueled significant progress in computer vision, speech recognition, and natural language processing. We have seen a computer beat the world champion in Go with help from deep learning, and a single deep learning algorithm learn to recognize two vastly different languages, English and Mandarin. At Baidu, we think that this is just the beginning, and high performance computing is poised to help.

It turns out that deep learning is compute limited, even on the fastest machines in the world. This talk will provide empirical evidence from our Deep Speech work that application level performance (e.g. recognition accuracy) scales with data and compute, transforming some hard AI problems into problems of computational scale.

It will describe the performance characteristics of Baidu's deep learning workloads in detail, focusing on the recurrent neural networks used in Deep Speech as a case study. It will cover challenges to further improving performance, describe techniques that have allowed us to sustain 250 TFLOP/s when training a single model on a cluster of 128 GPUs, and discuss straightforward improvements that are likely to deliver even better performance.

Our three big hammers are improving algorithmic efficiency, building faster and more power efficient processors, and strong scaling training to larger clusters. The talk will conclude with open problems in these areas, and suggest directions for future work.


 

The Stanford EE Computer Systems Colloquium (EE380) meets on Wednesdays 4:30-5:45 throughout the academic year. Talks are given before a live audience in Room B03 in the basement of the Gates Computer Science Building on the Stanford Campus. The live talks (and the videos hosted at Stanford and on YouTube) are open to the public.

Date and Time: 
Wednesday, October 5, 2016 - 4:30pm
Venue: 
Gates B03

EE380 Computer Systems Colloquium

Topic: 
A Topologically Optimal Internet
Abstract / Description: 

Current packet backbone networks are based on telephone, railroad, or highway networks. They were designed to minimize the total link length. Packet switched networks are different from circuit switched networks in that they should be designed to minimize the number of hops instead of the total link length. Minimizing the number of hops reduces the latency, power consumption, and cost. This also increases network efficiency by completely eliminating the “bypass” packets that needless pass through the routers.

In more detail, the number of hops can be reduced by 2X by converting the network into a toroid. The number of hops can be further reduced by recasting the network into N-dimensional hypercube or into a multistage network, such as a Perfect Shuffle or Banyan. The multistage networks can be made redundant by adding an extra stage. This increases the fault tolerance and reduces the fabric blocking of the network. The reduced fabric blocking increases the network's ability to carry voice and video. Dense Wavelength Division Multiplexing (DWDM) channels on existing optical fiber links can be connected together to implement these topologies. The DWDM channels decouple the network topology from the geographical constraints. These topologies are compatible with all the layers of the OSI stack.

---

The Stanford EE Computer Systems Colloquium (EE380) meets on Wednesdays 4:30-5:45 throughout the academic year. Talks are given before a live audience in Room B03 in the basement of the Gates Computer Science Building on the Stanford Campus. The live talks (and the videos hosted at Stanford and on YouTube) are open to the public.

Date and Time: 
Wednesday, September 28, 2016 - 4:30pm
Venue: 
Gates B03

EE380 Computer Systems Colloquium

Topic: 
Big Data is (at least) Four Different Problems
Abstract / Description: 

"Big Data" means different things to different people. To me, it means one of four totally different problems:

Big volumes of data, but "small" analytics. The traditional data warehouse vendors support SQL analytics on very large volumes of data. In this talk, I make a few comments on where I see this market going, and possible technical disruptions ahead.
Big analytics on big volumes of data. By big analytics, I mean data clustering, regressions, machine learning, and other much more complex analytics on very large amounts of data. I will explain the various approaches to integrating complex analytics into DBMSs, and discuss which ones seem more promising.

Big velocity. By this I mean being able to absorb and process a firehose of incoming data for applications like electronic trading. In this market, the traditional SQL vendors are a non-starter. I will discuss alternatives including complex event processing (CEP), NoSQL and NewSQL systems. I will also make a few comments about the "internet of things".

Big Diversity. Many enterprises are faced with integrating a larger and larger number of data sources with diverse data (spreadsheets, web sources, XML, traditional DBMSs). The traditional ETL products do not appear up to the challenges of this new world, and I talk about alternate ways to go, and conclude that this is the "800 pound gorilla in the corner".

Date and Time: 
Wednesday, June 1, 2016 - 4:30pm to 5:30pm
Venue: 
Gates B03

EE Computer Systems Colloquium

Topic: 
The Privacy Properties of Telephone Metadata
Abstract / Description: 

Since 2013, a stream of disclosures have prompted reconsideration of surveillance law and policy. One of the most controversial principles, both in the United States and abroad, is that communications metadata receives substantially less protection than communications content. Several nations currently collect telephone metadata in bulk, including on their own citizens. In this paper, we attempt to shed light on the privacy properties of telephone metadata. Using a novel crowdsourcing methodology, we demonstrate that telephone metadata is densely interconnected, can trivially be re-identified, and can be used to draw sensitive inferences.

Date and Time: 
Wednesday, May 18, 2016 - 4:30pm to 5:30pm
Venue: 
Gates B03

Claude E. Shannon's 100th Birthday

Topic: 
Centennial year of the 'Father of the Information Age'
Abstract / Description: 

From UCLA Shannon Centennial Celebration website:

Claude Shannon was an American mathematician, electrical engineer, and cryptographer known as "the father of information theory". Shannon founded information theory and is perhaps equally well known for founding both digital computer and digital circuit design theory. Shannon also laid the foundations of cryptography and did basic work on code breaking and secure telecommunications.

 

Events taking place around the world are listed at IEEE Information Theory Society.

Date and Time: 
Saturday, April 30, 2016 - 12:00pm
Venue: 
N/A

EE380 Computer Systems Colloquium

Topic: 
Unconventional Computing
Abstract / Description: 

Many important mathematical problems, ranging from cryptography, network routing, and protein folding, require the exploration a large number of candidate solutions. Because the time required for solving these problems grows exponentially with their size, electronic computers, which operate sequentially, cannot solve them in a reasonable timeframe. Unfortunately, the parallel-computation approaches proposed so far, e.g., DNA-, and quantum-computing, suffer from fundamental and practical drawbacks, which prevented their successful implementation. On the other hand, biological entities, from microorganisms to humans, process information in parallel, routinely, for essential tasks, such as foraging, searching for available space, competition, and cooperation. However, aside of their sheer complexity, parallel biological processes are difficult to harness for artificial parallel computation because of a fundamental difference: biological entities process analog information, e.g., concentration gradients, whereas computing devices require the processing of numbers. This subtle, but important difference between artificial and biological computation, together with the opportunity to operate biocomputation with large numbers of (small) biological agents, opens three possible avenues for development.

Biological IT. The first opportunity relies on the study of the natural procedures used by biological agents, e.g., for space search and partitioning, chemotaxis, etc., followed by the translation of these procedures in abstract mathematical algorithms. These bioinspired algorithms can be then benchmarked against standard analogues used for similar tasks, and, if appropriate, improved and implemented. Along this development avenue, which is conceptually similar to other biomimetics efforts, such as biomimetic materials, we have shown that fungi used exquisitely efficient algorithms for search for available space; and that the chemotaxis procedures used by bacteria can be used to find edges of geometrical patterns.

Biosimulation. The second opportunity relies on the capacity of using large numbers of biological agents to explore complex networks which mimic real traffic situations. This line of development has been almost entirely dedicated to the study of network optimization performed by amoeboid organisms, e.g., Physarum, placed in geometrically confined environments which also contain chemotactic 'cues', e.g., larger concentrations of nutrients in set coordinates. This physical simulation of traffic networks resulted in many studies assessing the optimality of real traffic networks in many countries.

Biocomputation with biological agents in networks. Finally, the third, and arguably the most exciting development consists in the use of very large number of agents exploring purposefully-designed microfluidics networks. For instance, we reported the foundations of a parallel-computation system in which a given combinatorial problem is encoded into a graphical, modular network that is embedded in a nanofabricated planar device. Exploring the network in a parallel fashion using a large number of independent, agents, e.g., molecular motor-propelled agents, then solves the mathematical problem. This approach uses orders of magnitude less energy than conventional computers, thus addressing issues related to power consumption and heat dissipation.

The lecture will conclude with a perspective on the computation and simulation using biological entities in microfluidics structures, weighing the opportunities and challenges offered by various technological avenues.

Date and Time: 
Wednesday, May 25, 2016 - 4:30pm to 5:30pm
Venue: 
Gates B03

Pages

Subscribe to RSS - EE380 Computer Systems Colloquium