Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-48873

Consider runtime.GOMAXPROCS(0) vs runtime.NumCPU()

    XMLWordPrintable

Details

    • 1

    Description

      based on Marco's Analysis on CBSE

      runtime.NumCPU() give number of cores on host machine
      runtime.GOMAXPROCS(0) gives based on the GOMAXPROCS
      We use NumCPU() call for allocating servicers, workers etc.
      We allocate threads, concurency based on NumCPU(), but process CPUs limited by GOMAXPROCS.

      grep NumCPU -r query/*

      query/audit/audit.go:	for i := 1; i <= runtime.NumCPU(); i++ {
      query/clustering/zookeeper/clustering_zk_test.go:		runtime.NumCPU()<<16, runtime.NumCPU()<<6, 0, 0, ":8093", ":8094", "", false, "cluster1", "", "", "")
      query/execution/exchange.go:	threshold = runtime.NumCPU()
      query/execution/context.go:	if rv.maxParallelism <= 0 || rv.maxParallelism > runtime.NumCPU() {
      query/execution/context.go:		rv.maxParallelism = runtime.NumCPU()
      query/execution/parallel.go:var _PARALLEL_POOL = NewOperatorPool(runtime.NumCPU())
      query/plan/parallel.go:	return runtime.NumCPU()
      query/primitives/couchbase/memcached.go:var _NUM_CHANNEL_WORKERS = (runtime.NumCPU() + 1) / 2
      query/server/server.go:	numProcs := runtime.NumCPU()
      query/server/request.go:		maxParallelism = runtime.NumCPU()
      Binary file query/server/cbq-engine/cbq-engine matches
      query/server/cbq-engine/main.go:var SERVICERS = flag.Int("servicers", 4*runtime.NumCPU(), "Servicer count")
      query/server/cbq-engine/main.go:var PLUS_SERVICERS = flag.Int("plus-servicers", 16*runtime.NumCPU(), "Plus servicer count")
      query/server/cbq-engine/main.go:	numCPU := runtime.NumCPU()
      Binary file query/shell/cbq/cbq matches
      query/util/sync.go:	p.buckets = uint32(runtime.NumCPU())
      query/util/pool_byte.go:	p.buckets = uint32(runtime.NumCPU())
      query/util/cache.go:	numCaches := runtime.NumCPU()
      query/util/pool_string.go:	p.buckets = uint32(runtime.NumCPU())
      query/util/pool_goroutine.go:	p.buckets = uint32(runtime.NumCPU())
      
      

      grep NumCPU -r go-couchbase/*

      go-couchbase/client.go:var _NUM_CHANNEL_WORKERS = (runtime.NumCPU() + 1) / 2
      go-couchbase/examples/incr/incr.go:	runtime.GOMAXPROCS(runtime.NumCPU())
       
      
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              mihir.kamdar Mihir Kamdar (Inactive)
              Sitaram.Vemulapalli Sitaram Vemulapalli
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty