Go GC: Latency Problem Solved - Golang Talks [PDF]
Recommend Documents
May 26, 2015 - This is why Thermus thermophilus, an extremophile, has a GC-rich genome, also regions of our genome (assuming of course that you are ...
universal access, and pacing for CST success, you'll find all the solutions ... 2.
Reasonableness How can an estimate help you eliminate choices above?
PROBLEM SOLVED™ PAPER. SOLUTION: Martin® Air Cannons. INDUSTRY:
Cement. LOCATION: Lafarge Cimento, Turkey. PROBLEM. Located southwest of
...
PROBLEM SOLVED™ PAPER. SOLUTION: Martin® Air Cannon. INDUSTRY:
Coal-Fired Power. LOCATION: Bay Shore Station, FirstEnergy Corporation.
PROBLEM SOLVED™ PAPER. SOLUTION: Martin® Belt Cleaners, Transfer
Chutes, Settling Zones, ApronSeal, Vibration. INDUSTRY: Biomass. LOCATION:
...
Jul 3, 2010 ... General Conference Sabbath Sermon - July 3, 2010. Ted N C Wilson ... (Tagalog
), Ha ana ahti seriahn! (Arabic), Yahsus kommt bahldt!
Jul 18, 2012 ... Talk, Draw, Write. Problem Solved! ... on the branch now? ... Speak, Write, Reflect
, Revise describes the 4-step process for competent problem.
Aug 20, 1999 - Figure 4: Eight objects packed in a pentagon. Finally Figure 7 depicts a study of five to ten points on a "hourglass"-shaped region, respectively.
YANG Di-Wu, ZHOU Zhi-Bin, ZENG Lv-Ming, ZHOU Xin, CHEN Xing-Hui .... TANG Shi-Yu, LI Run, OU Xin, XU Han-Ni, XIA Yi-Dong, YIN Jiang, LIU Zhi-Guo.
problem, the Maximum Clique Problem (MAXCLIQUE). This problem arises in many real world applications as computer vision and pattern recognition or coding ...
drive a kind of âParkinson's Lawâ of storage, in which de- ..... dited and repaired the longer the bit half-life we can expect. This is, after ..... able Hard Disk Drives.
Sep 11, 2013 ... Century-old chemistry problem solved. Authors of the new Nature paper are TSRI
assistant professor Ryan Shenvi (center), research associate ...
Which, taken at the ¯ood, leads on to fortune;. Omitted, all the voyage of their life. Is bound in shallows and in miseries. On such a full sea are we now a¯oat;.
large molecular complexes giving birth to groups of clus- ters over a ... group (SCG) memberships. .... From the Color-Magnitude Diagram (CMD) contrast be-.
Linda Zagzebski's solution to the Gettier problem is that knowledge. 7. E. g., Feldman 1974. See also ..... to be theore
Latency problems are characterized by their focus on minimizing the waiting time .... and (c). Figure 1(a) shows results for the PLPP with unitary profits and a common ..... Theorem 5 PLPP on a star with all pi = 1, and arbitrary periodicities qi, is
the Mind of Nature to explore the land's subtle energy anatomy, trace invisible
energy ... detect sacred space, trace auras, map energy anatomy, intuit emotions
...
November 8th 2012 - NYC Golang Meetup. @imsnakes & @jehiah ..... •nsqadmin
provides a web interface to administrate and ... •server side channel pausing.
Jul 24, 2013 - and Br. − up to 0.3 M. On the other hand, it was found that iodide ions have a ... reaction on the proposed catalyst to poisoning by halides. ... at different orders and loading levels of the two oxides has ... GC, or MnOx/NiOx/GC elec
Enchanted Prints and Elegance and Enchantment, 2014. For personal use only, not to be copied, distributed, altered or sold. www.enchantedprints.com | www.eleganceandenchantment.com. ELEGANCE. E. N. C HANTM E. N. T and e.
Institute of Mathematical Statistics is collaborating with JSTOR to digitize,
preserve and extend access .... who first solved this problem, we shall, as is
customary.
skills to take on big challenges, working in partnership with others to make ..... linking of concepts and principles to conditions and procedures for application. ..... website, but none of them were about collaborative learning or more specifically
training on 25 million words of AP newswire and testing on the Brown Corpus (Francis and. Kucera, 1982), they report an accuracy of 99.8%. The SATZ system ...
Record linkage is an important problem to be solved in all contexts in which ..... Formulation I does not take into account any threshold value when comparing ...
Go GC: Latency Problem Solved - Golang Talks [PDF]
Jul 8, 2015 - Only if software uses more cores. Long term. Establish a ... Software++. Hardware++. Hardware++ ... Control of spatial locality. Objects can be ...
Go GC: Latency Problem Solved Rick Hudson Google Engineer GopherCon Denver July 8, 2015
News Flash: 2X Transistors != 2X Frequency More transistors == more cores Software++ Only if software uses more cores Long term Establish a virtuous cycle Short term Increase Go Adoption
Latency Nanosecond 1: Grace Hopper Nanosecond 11.8 inches Microsecond 5.4: Time light travels 1 mile in vacuum Millisecond 1: Read 1 MB sequentially from SSD 20: Read 1 MB from disk 50: Perceptual Causality (cursor response threshold) 50+: Various network delays 300: Eye blink
Google Confidential and Proprietary
Go isn’t Java: GC Related Go Differences Go Thousands of Goroutines Synchronization via channels Runtime written in Go Leverages Go same as users Control of spatial locality Objects can be embedded Interior pointers (&foo.field)
Java Tens of Java Threads Synchronization via objects/locks Runtime written in C Objects linked with pointers
Let’s Build a GC for Go Google Confidential and Proprietary
GC 101 Scan Phase Heap Stacks/Registers Globals
Google Confidential and Proprietary
Mark Phase Stacks/Registers Globals
Righteous Concurrent GC struggles with Evil Application changing pointers Google Confidential and Proprietary
Sweep Phase Stacks/Registers Globals
Google Confidential and Proprietary
GC Algorithm Phases GC disabled Pointer writes are just memory writes: *slot = ptr
Off
Collect pointers from globals and goroutine stacks Stacks scanned at preemption points
Mark termination Sweep Off
Mark objects and follow pointers until pointer queue is empty Write barrier tracks pointer changes by mutator STW
Mark
WB on
Stack scan
Rescan globals/changed stacks, finish marking, shrink stacks, … Literature contains non-STW algorithms: keeping it simple for now Reclaim unmarked objects as needed Adjust GC pacing for next cycle Rinse and repeat Correctness proofs in literature (see me) Google Confidential and Proprietary
1.4 Stop the World
GC Application
GC Application Google Confidential and Proprietary
1.5 Concurrent GC 1 ms
3 ms
Application
Application
Assist
Assist
GC
GC
Application
Application Google Confidential and Proprietary
Garbage Benchmark
9
7 6 Seconds
GC Pause (Lower is better)
8
5 4 3 2 1 0 Heap Size (Gigabytes) Google Confidential and Proprietary
1.5 Garbage Benchmark Latency
GC Pause ( Lower is Better) Milliseconds
1.5 GC Pauses
Heap Size (Megabytes) Google Confidential and Proprietary
Execution Time (Lower is Better)
Splay: Increasing Heap Size == Better Performance
GOGC=200
Heap Size (Megabytes) Google Confidential and Proprietary
Execution Time (Lower is Better)
JSON: Increasing Heap Size == Better Performance
GOGC=200
Heap Size (Megabytes) Google Confidential and Proprietary
Onward Tell people that GC is not a barrier with Go’s low latency GC Tune for even lower latency, higher throughput, more predictability Find the sweet spot. 1.6 work will be use case driven: Let’s talk.
Increase Go Adoption Establish Virtuous Cycle Google Confidential and Proprietary