Debugging Go Routine leaks

MinIO MinIO MinIO on Golang |

Before beginning with Debugging Goroutines leaks, let me give a small introduction of some fundamentals which will give you a broader perspective of the problem. Concurrent Programming. * Concurrent programming deals with concurrent execution of a program wherein multiple sequential streams of execution run at a time resulting in faster execution of your computations. * It helps in better utilization of multicore

Read more

Accelerating SHA256 by 100x in Golang on ARM

Accelerating SHA256 by 100x in Golang on ARM

The 64-bit ARMv8 core has introduced new instructions for SHA1 and SHA2 acceleration as part of the Cryptography Extensions [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0501f/CHDFJBCJ.html] . We at Minio [https://minio.io/] were curious as to the difference that these instructions might make, and this turns out to be one of the nicer

Read more

Fast hashing in Golang using BLAKE2

In this blog we would like to present an optimized implementation, blake2b-simd [https://github.com/minio/blake2b-simd] , in pure Go for the BLAKE2 [https://blake2.net/] hashing algorithm that takes advantage of SIMD instructions. It gives up to a 4x speed increase over the (non-assembly) Go implementation and can achieve hashing speeds close to 1 GB/sec per core on

Read more

Object storage in practice: Creating a reliable data store

Object storage in practice: Creating a reliable data store

In my previous post [https://blog.minio.io/object-storage-what-is-it-all-about-62920ca164ca#.bcz4d4nnd] we learnt the why and what of object storage. Specifically, we learnt why at all a new storage paradigm is required and what it does to alleviate modern unstructured data problems. We saw how object storage lets you access objects at application layer with simple API calls over HTTP(s)

Read more

Microstorage for Microservices

MinIO MinIO MinIO on Performance |
Microstorage for Microservices

One of the fundamental requirements of microservice is that application containers become stateless. However the states still need to be stored elsewhere, as in databases, object storage, session files, cookies, cache, etc. Microstorage is emerging as a new architecture to address the storage scalability for microservices. Microstorage inherits the idea from microservices that “only small things scale”. Scale-up is not

Read more