From 78fc6d36ac818a62fd292caaa4cc08c4b8829281 Mon Sep 17 00:00:00 2001 From: binhnguyennus Date: Tue, 25 Dec 2018 09:51:29 +0800 Subject: [PATCH] Move Parallel Computing and Concurrency to High Performance --- README.md | 50 +++++++++++++++++++++----------------------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index a1919e8..b2f6812 100644 --- a/README.md +++ b/README.md @@ -394,34 +394,6 @@ An updated and curated list of readings to illustrate best practices and pattern * [Goku: Time Series Database at Pinterest](https://medium.com/@Pinterest_Engineering/goku-building-a-scalable-and-high-performant-time-series-database-system-a8ff5758a181) * [Building a Scalable Time Series Database on PostgreSQL](https://blog.timescale.com/when-boring-is-awesome-building-a-scalable-time-series-database-on-postgresql-2900ea453ee2) * [Scaling Time Series Data Storage (2 parts) at Netflix](https://medium.com/netflix-techblog/scaling-time-series-data-storage-part-ii-d67939655586) -* [Concurrency](http://joeduffyblog.com/2016/11/30/15-years-of-concurrency/) - * [Message-Passing Concurrency](https://link.springer.com/chapter/10.1007/978-3-642-35170-9_11) - * [Software Transactional Memory](https://dl.acm.org/citation.cfm?id=3037750) - * [Dataflow Concurrency](http://www.marketwired.com/press-release/java-concurrency-and-scalability-platform-akka-celebrates-fifth-anniversary-1928674.htm) - * [Shared-State Concurrency](https://doc.rust-lang.org/book/second-edition/ch16-03-shared-state.html) - * [Concurrency series by Larry Osterman (Principal SDE at Microsoft)](https://social.msdn.microsoft.com/Profile/Larry%2bOsterman%2b%5BMSFT%5D/activity) - * [Part 8 – Concurrency for scalability](https://blogs.msdn.microsoft.com/larryosterman/2005/02/28/concurrency-part-8-concurrency-for-scalability/) - * [Part 9 - APIs that enable scalable programming](https://blogs.msdn.microsoft.com/larryosterman/2005/03/02/concurrency-part-9-apis-that-enable-scalable-programming/) - * [Part 10 - How do you know if you’ve got a scalability issue?](https://blogs.msdn.microsoft.com/larryosterman/2005/03/03/concurrency-part-10-how-do-you-know-if-youve-got-a-scalability-issue/) - * [Part 11 – Hidden scalability issues](https://blogs.msdn.microsoft.com/larryosterman/2005/03/04/concurrency-part-11-hidden-scalability-issues/) - * [Part 12 – Hidden scalability issues (cont)](https://blogs.msdn.microsoft.com/larryosterman/2005/03/07/concurrency-part-12-hidden-scalability-issues-part-2/) - * [Concurrency with Erlang](http://learnyousomeerlang.com/the-hitchhikers-guide-to-concurrency) - * [Erlang in WhatsApp](https://blog.whatsapp.com/196/1-million-is-so-2011) - * [Erlang in Riot Chat Server](https://engineering.riotgames.com/news/chat-service-architecture-servers) - * [How Discord Scaled Elixir to Five Millions Concurrent Users](https://blog.discordapp.com/scaling-elixir-f9b8e1e7c29b) - * [Mnesia: A Distributed DBMS Rooted in Concurrency](https://www.developer.com/db/article.php/3864331/Mnesia-A-Distributed-DBMS-Rooted-in-Concurrency.htm) - * [Mesia and CAP](https://medium.com/@jlouis666/mnesia-and-cap-d2673a92850) - * [Running Concurrent Queries in GoSocial (Go and Neo4j) at Medium](https://medium.engineering/running-concurrent-queries-in-gosocial-28e5841b05b5) - * [The Secret To 10 Million Concurrent Connections](http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html) -* [Parallel Computing](https://blogs.msdn.microsoft.com/ddperf/2009/05/02/are-we-taking-advantage-of-parallelism/) - * [SPMD (Single Program Multiple Data): The Genetic Pattern](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-186.html) - * [Master/Worker Pattern](https://docs.gigaspaces.com/sbp/master-worker-pattern.html) - * [Loop Parallelism Pattern: Extracting parallel tasks from loops](https://www.cs.umd.edu/class/fall2001/cmsc411/projects/unroll/main.htm) - * [Fork/Join Pattern: Good for recursive data processing](http://highscalability.com/learn-how-exploit-multiple-cores-better-performance-and-scalability) - * [Map-Reduce: Born for Simplified Data Processing on Large Clusters](http://static.googleusercontent.com/media/research.google.com/en/us/archive/mapreduce-osdi04.pdf) - * [On the Death of Map-Reduce - Henry Robinson, Cloudera](https://www.the-paper-trail.org/post/2014-06-25-the-elephant-was-a-trojan-horse-on-the-death-of-map-reduce-at-google/) - * [Server-side Optimization to Parallelize the Rendering of Web Pages at Yelp](https://engineeringblog.yelp.com/2017/07/generating-web-pages-in-parallel-with-pagelets.html) - * [Accelerator: Data Processing Framework with Fast Data Access and Parallel Execution at eBay](https://www.ebayinc.com/stories/blogs/tech/announcing-the-accelerator-processing-1-000-000-000-lines-per-second-on-a-single-computer/) * [Event-Driven Architecture](https://martinfowler.com/articles/201701-event-driven.html) * [Pub-Sub Messaging](https://aws.amazon.com/pub-sub-messaging/) * [Autoscaling Pub-Sub Consumers at Spotify](https://labs.spotify.com/2017/11/20/autoscaling-pub-sub-consumers/) @@ -583,7 +555,27 @@ An updated and curated list of readings to illustrate best practices and pattern * [Boosting Site Speed Using Brotli Compression at LinkedIn](https://engineering.linkedin.com/blog/2017/05/boosting-site-speed-using-brotli-compression) * [Improving Homepage Performance at Zillow](https://www.zillow.com/engineering/improving-homepage-performance/) * [The Process of Optimizing for Client Performance at Expedia](https://techblog.expedia.com/2018/03/09/go-fast-or-go-home-the-process-of-optimizing-for-client-performance/) - +* [Concurrency](http://joeduffyblog.com/2016/11/30/15-years-of-concurrency/) + * [Message-Passing Concurrency](https://link.springer.com/chapter/10.1007/978-3-642-35170-9_11) + * [Software Transactional Memory](https://dl.acm.org/citation.cfm?id=3037750) + * [Dataflow Concurrency](http://www.marketwired.com/press-release/java-concurrency-and-scalability-platform-akka-celebrates-fifth-anniversary-1928674.htm) + * [Shared-State Concurrency](https://doc.rust-lang.org/book/second-edition/ch16-03-shared-state.html) + * [Concurrency series by Larry Osterman (Principal SDE at Microsoft)](https://social.msdn.microsoft.com/Profile/Larry%2bOsterman%2b%5BMSFT%5D/activity) + * [Running Concurrent Queries in GoSocial (Go and Neo4j) at Medium](https://medium.engineering/running-concurrent-queries-in-gosocial-28e5841b05b5) + * [The Secret To 10 Million Concurrent Connections](http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html) + * [Concurrency with Erlang](http://learnyousomeerlang.com/the-hitchhikers-guide-to-concurrency) + * [Erlang in WhatsApp](https://blog.whatsapp.com/196/1-million-is-so-2011) + * [Erlang in Riot Chat Server](https://engineering.riotgames.com/news/chat-service-architecture-servers) + * [Scaled Elixir to Five Millions Concurrent Users at Discord](https://blog.discordapp.com/scaling-elixir-f9b8e1e7c29b) +* [Parallel Computing](https://blogs.msdn.microsoft.com/ddperf/2009/05/02/are-we-taking-advantage-of-parallelism/) + * [SPMD (Single Program Multiple Data): The Genetic Pattern](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-186.html) + * [Master/Worker Pattern](https://docs.gigaspaces.com/sbp/master-worker-pattern.html) + * [Loop Parallelism Pattern: Extracting parallel tasks from loops](https://www.cs.umd.edu/class/fall2001/cmsc411/projects/unroll/main.htm) + * [Fork/Join Pattern: Good for recursive data processing](http://highscalability.com/learn-how-exploit-multiple-cores-better-performance-and-scalability) + * [Map-Reduce: Born for Simplified Data Processing on Large Clusters](http://static.googleusercontent.com/media/research.google.com/en/us/archive/mapreduce-osdi04.pdf) + * [Server-side Optimization to Parallelize the Rendering of Web Pages at Yelp](https://engineeringblog.yelp.com/2017/07/generating-web-pages-in-parallel-with-pagelets.html) + * [Accelerator: Data Processing Framework with Fast Data Access and Parallel Execution at eBay](https://www.ebayinc.com/stories/blogs/tech/announcing-the-accelerator-processing-1-000-000-000-lines-per-second-on-a-single-computer/) + ## Intelligence * [Big Data](https://insights.sei.cmu.edu/sei_blog/2017/05/reference-architectures-for-big-data-systems.html) * [Data Platform at Uber](https://eng.uber.com/uber-big-data-platform/)