Alexander Shraer's Home Page
email: shralex [at] apple [dot] com
I work in Apple iCloud, designing and building scalable distributed systems.
In my spare time I'm an Apache ZooKeeper committer.
Previously, I was part of Google's Distributed Storage Analytics team, optimizing large-scale storage and middleware.
Before joining Google, I was a Research Scientist at Yahoo! Research, working on a variety of Distributed Systems problems
such as distributed storage, publish subscribe, mobile middleware, and more.
I received my PhD from the Department of Electrical Engineering, Technion, under the supervision of Prof. Idit Keidar.
My research is broadly in the area of fault-tolerant distributed algorithms and systems.
M.Sc. in Computer Science (2006, cum laude) and B.Sc. in Software Engineering (2004, summa cum laude).
Large-scale and dynamic distributed systems
- FoundationDB Record Layer: A Multi-Tenant Structured Datastore (SIGMOD'19, industry track), at Apple
Open source announcement
- CloudKit: Structured Storage for Mobile Applications (VLDB'18, innovative systems and applications track), at Apple
- Slicer: Auto-Sharding for Datacenter Applications (USENIX OSDI'16), at Google
- Modular Composition of Coordination Services (USENIX ATC'16), at Google
- Online Optimization of Distributed Storage Configurations (VLDB'15), at Google
- Efficient Traffic Splitting on Commodity Switches (CoNEXT'15), at Google
- Dynamic Reconfiguration of Primary/Backup Clusters (USENIX ATC'12, Hadoop Summit 2012)
Implemented in Apache ZooKeeper and part of its standard distribution as of the 3.5.0 release (August 2014).
Support letter from SolidFire that has been using my dynamic reconfiguration functionality in production since 2012.
Latest updates: User Manual. ZooKeeper (and dynamic reconfig) at Twitter, Bay Area ZooKeeper Meetup, Nov 2014.
- Top-k Publish-Subscribe for Social Annotation of News (VLDB'13, patent filed), at Google / Yahoo! Research pptx
Chosen one of Google's Influential Papers for 2013. Category: Information Retrieval.
- Unified Messaging and Data Serving for Mobile Apps (MobiSys'12), at Yahoo! Research
- DynaStore: Dynamic Atomic Storage Without Consensus (J.ACM'11, PODC'09), with Microsoft Research Silicon Valley ppt
- Reconfiguring Replicated Atomic Storage: A Tutorial (BEATCS, Oct. 2010), with Microsoft Research Silicon Valley
- Data-Centric Reconfiguration with Network-Attached Disks (LADIS'10), with Microsoft Research Silicon Valley pptx
- Brahms: Byzantine Resilient Random Membership Sampling (PODC'08; COMNET 2009) ppt
- Local Building Blocks for a Scalable Pub/Sub Infrastructure (Locality 2007), with IBM Research Haifa
- Verifying Cloud Services: Present and Future (Operating Systems Review, 2013)
Press: Forbes, ZDNet, StorageMojo, CloudTech, Kings College Clound Computing Blog.
- Venus: Verification for Untrusted Cloud Storage (CCSW'10), with IBM Research Zurich pptx
- FAUST: Fail-Aware Untrusted Storage (SICOMP'11, DSN'09), with IBM Research Zurich ppt
Fault-tolerant replication and agreement in partially synchronous systems
- How to choose a timing model? (DSN'07; IEEE TPDS 2008) ppt
- GIRAF: a framework for evaluating the performance of distributed algorithms (PODC'06)
During Spring semesters (2007 till 2009) I was the TA in charge in the Principles of Reliable Distributed Systems course
In Winter semesters (2007 and 2008) I was the TA in charge in the Design and Analysis of Algorithms course
Before that I
taught Introduction to C
I also supervised several projects in the Software Systems Lab in the Electrical Engineering department