diff --git a/.github/configs/wordlist.txt b/.github/configs/wordlist.txt index b807d8101..256fc4ebe 100644 --- a/.github/configs/wordlist.txt +++ b/.github/configs/wordlist.txt @@ -221,6 +221,7 @@ goroutine gradle gradlew Gratz +grayscale grot Grot gRPC @@ -443,6 +444,7 @@ Prefetch Prefetched Prefetching preprocessor +preprocesses priyank Priyank proc @@ -483,6 +485,8 @@ recommender recommendationservice repo Repos +rnn +RNN roadmap RPC rpc @@ -535,6 +539,7 @@ Sotiria SPECU specversion Sprintf +squeezenet src SSD sslip @@ -647,6 +652,7 @@ zA Zhu zipkin Zipkin +zlib EsjWHBuJ HZPSfs diff --git a/benchmarks/fibonacci/go/server.go b/benchmarks/fibonacci/go/server.go index e1b318fe6..f5d277d54 100644 --- a/benchmarks/fibonacci/go/server.go +++ b/benchmarks/fibonacci/go/server.go @@ -29,6 +29,7 @@ import ( "fmt" "net" "strconv" + "math/big" pb "github.com/vhive-serverless/vSwarm-proto/proto/fibonacci" tracing "github.com/vhive-serverless/vSwarm/utils/tracing/go" @@ -42,14 +43,19 @@ var ( address = flag.String("addr", "0.0.0.0:50051", "Address:Port the grpc server is listening to") ) -func fibonacci(num int) float64 { - var num1 float64 = 0 - var num2 float64 = 1 - var sum float64 +func fibonacci(num int) *big.Int { + if num <= 0 { + return big.NewInt(0) + } + + num1 := big.NewInt(0) + num2 := big.NewInt(1) + sum := big.NewInt(0) + for i := 0; i < num; i++ { - sum = num1 + num2 - num1 = num2 - num2 = sum + sum.Add(num1, num2) + num1.Set(num2) + num2.Set(sum) } return num1 } @@ -64,7 +70,7 @@ func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloRe // log.Printf("Received: %v", in.GetName()) x, _ := strconv.ParseInt(in.GetName(), 10, 64) var y = fibonacci(int(x)) - resp := fmt.Sprintf("fn: Fib: y = fib(x) | x: %d y: %.1f | runtime: GoLang", x, y) + resp := fmt.Sprintf("fn: Fib: y = fib(x) | x: %d y: %s | runtime: GoLang", x, y.String()) return &pb.HelloReply{Message: resp}, nil } diff --git a/benchmarks/fibonacci/nodejs/server.js b/benchmarks/fibonacci/nodejs/server.js index 69f311c3a..3921ec54b 100644 --- a/benchmarks/fibonacci/nodejs/server.js +++ b/benchmarks/fibonacci/nodejs/server.js @@ -41,16 +41,16 @@ var hello_proto = grpc.loadPackageDefinition(packageDefinition).fibonacci; function fibonacci(num) { - var num1 = 0; - var num2 = 1; - var sum; + let num1 = BigInt(0); + let num2 = BigInt(1); + let sum = BigInt(0); var i = 0; for (i = 0; i < num; i++) { sum = num1 + num2; num1 = num2; num2 = sum; } - return num1; + return num1.toString(); } /** diff --git a/benchmarks/fibonacci/python/server.py b/benchmarks/fibonacci/python/server.py index dc73a2502..d91ea3037 100644 --- a/benchmarks/fibonacci/python/server.py +++ b/benchmarks/fibonacci/python/server.py @@ -58,6 +58,8 @@ tracing.grpcInstrumentClient() tracing.grpcInstrumentServer() +sys.set_int_max_str_digits(500000) + def fibonacci(num): num1=0 num2=1 @@ -79,7 +81,7 @@ def SayHello(self, request, context): y = fibonacci(x) gid = syscall(104) - msg = "fn: Fib: y = fib(x) | x: %i y: %.1f | runtime: python" % (x,y) + msg = "fn: Fib: y = fib(x) | x: %i y: %i | runtime: python" % (x,y) return fibonacci_pb2.HelloReply(message=msg) diff --git a/benchmarks/video-analytics-standalone/README.md b/benchmarks/video-analytics-standalone/README.md index 877c9a1fa..52a8cfc26 100644 --- a/benchmarks/video-analytics-standalone/README.md +++ b/benchmarks/video-analytics-standalone/README.md @@ -1,6 +1,6 @@ # Video Analytics Standalone Benchmark -The video analyics standalone benchmark preprocesses an input video and runs an object detection model (squeezenet) on the video. An input video can be specified, but if nothing is given, a default video is used. This benchmark also utilises and depends on a database to store the videos that can be used, which in turn uses MongoDB. +The video analytics standalone benchmark preprocesses an input video and runs an object detection model (squeezenet) on the video. An input video can be specified, but if nothing is given, a default video is used. This benchmark also utilises and depends on a database to store the videos that can be used, which in turn uses MongoDB. The `init-database.go` script runs when starting the function and populates the database with the videos from the `videos` folder.