Commit Graph

8 Commits

Author SHA1 Message Date
Ben Kalman
f57353ea89 Include MB and MB/s in sync progress (#1980) 2016-07-06 16:26:13 -07:00
Ben Kalman
53b9ce3c1e Add pull chunk progress to noms sync (#1950) 2016-07-06 15:01:32 -07:00
Aaron Boodman
1d752e3101 Update license: Noms will be copyright Attic Labs. (#1976) 2016-07-05 22:07:42 -07:00
Rafael Weinstein
c47cc21d56 Remove more assertions which allocate in non-failure cases (#1942) 2016-07-01 10:09:59 -07:00
cmasone-attic
3b23ee12e7 Additional parallelism in pull.go (#1829)
In discussing the patch that added parallelism, raf and I realized
that it's possible to be a bit more aggressive in the cases where one
queue is 'taller' than the other. In the current code, in that case,
we will parallelize work on all the Refs from the taller queue that
have a strictly higher ref-height than the head of the shorter queue.
We realized that it's safe to also take Refs from the taller queue
that are the SAME height as those at the top of the shorter queue,
as long as you handle common Refs correctly.

Fixes #1818
2016-06-16 08:11:17 -07:00
Chris Masone
e5bab88631 Add concurrency to noms-sync
The basic approach here is to take the max of the heights of the
source and sink queues, then grab all the refs of that height from
both and sort them into three sets: refs in the source, refs in the
sink, and refs in both. These are then processed in parallel and the
reachable refs are all added to the appropriate queue. Repeat as long
as stuff still shows up in the source queue.

Fixes #1564
2016-06-14 16:05:30 -07:00
cmasone-attic
74a0c98d75 Go: Use unified ref-height-based Pull algorithm (#1722)
Change Dataset.Pull to use a single algorithm to pull data from a
source to a sink, regardless of which (if any) is local. The basic
algorithm is described in the first section of pulling.md. This
implementation is equivalent but phrased a bit differently. The
algorithm actually used is described in the second section of
pulling.md

The main changes:
- datas.Pull(), which implements the new pulling algorithm
- RefHeap, a priority queue that sorts types.Ref by ref-height and
  then by ref.TargetHash()
- Add has() to both Database implementations. Cache has() checks.
- Switch Dataset to use new datas.Pull(). Currently not concurrent.

Toward #1568


Mostly, prune reachableChunks
2016-06-08 08:57:48 -07:00
Aaron Boodman
bb7ac52265 Move the Go SDK into noms/go 2016-06-05 02:14:49 -07:00