 Hello everyone, I'm Vicky Zhu from Industrial Technology Research Institute, E-Tree. It is a high technology research center in Taiwan. In this talk, I'm going to present our software-defined storage system for all fresh array management. It has been published to GitHub this July. We know that SSE is built for high-performance data assets. Recently, SSE has become the main storage device in Enterprise. In addition to high performance, SSE has other benefits in the factor of power usage, size and noise. In Enterprise, if they want to have very high performance, they usually will buy this kind of all fresh array servers. These servers will have a lot of SSD drives. However, these kind of servers do not have data protection, so if a SSD device fails, the data stored in it will be lost. For Enterprise to overcome this kind of problem, the naive solution is to use the standard software Ray-5 in Linux. But according to our benchmark results, the performance is not quite good. So, to solve this issue, we built a storage system called SOFA, a standard for standard software orchestrated fresh array. And it is a software-defined storage system to provide both the high data protection and high performance. It is a kernel module in Linux to provide the block-level storage system. And we provide a storage device for users to do the data re-write. All the data assets through this storage device will be served by the SOFA by using the underlying SSDs. And we also developed our proprietary Ray-5 and Ray-6 technology. And the technology will have two advantages. The first one is very high performance. We can achieve 1,000,000 IOPS for 4K byte rendering re-write. It is almost 10 times faster than standard SOFA Ray-5. And another advantage is to have SSD better lifetime. We can achieve 1.8 times better lifetime as compared to standard SOFA Ray-5. This slide will show our performance advantage in rendering assets. In this figure, I used the 10 Dicks for illustration. In standard Ray-5, in each Ray-5 stripe, there will be 9 data blocks and 1 parity block. In standard Ray-5, the data location has already been assigned and fixed. So if user performs rendering re-write, it is with high probability that the data re-write will be issued to different stripe. So for each one user rendering re-write, we will need to read and to write to the SSD. It is because we need to read the data block, read the parity block, write to the data block and write to the parity block. So for 9 user rendering re-writes, we will need 18 re-writes and 18 re-writes in SSD in total. On the other hand, in SOFA, we will always write the data to the new stripe. On the other hand, the incoming data re-writes will be grouped into new data stripes to the SSD. So for 9 user rendering re-writes, we will only need 10 re-writes to the SSD. So as can be seen from these values, SOFA will have lower performance overhead. That is why we can achieve higher performance. This slide shows our performance experimental results. In this testing, we use 20 SATA SSD. We group the SSD into 2 ray 5 groups. As can be seen from this figure, for the 4K block rendering re-writes, SOFA can achieve 1 million eye-ups. SOFA has another advantage, it is to provide better SSD life span. We also use this example to show for illustration. And we know that the SSD have a limited number of write cycles before the sale fails. So the number of write to the SSD is very critical. So we compare the number of write issue by the sender's ray 5 and by the SOFA. Because in sender's ray 5, 9 user render writes will need total 18 write to the SSD. So the write amplification is 2. In SOFA, every 9 user render writes will only need 10 write to the SSD. So the write amplification is 1.1. So as compared by compare these values, SOFA can have 1.8 times lifetime per noning as compared to the sender's ray 5. SOFA also can achieve high performance access through the network. Because for some customer, their user progress will running outside SOFA. And we provide iSCSI surface so the user program can also access the data through the network. In this testing, we perform 4 FIO each round in 1 PC. The aggregation performance result is 1 million eye-ups for 4K byte render rewrite. There are 2 technologies to achieve it. Firstly, we optimize the open source iSCSI software to have better throughput. Secondly, we optimize the CPU allocation. In the off-rush array, the system contains 3 main layers including the network layer, iSCSI layer and SOFA layer. By using NINIS-D4 core-CP core assignment, we only can have 600K eye-ups. In our algorithm, we will optimize the number of threads in each layer and the core assignment for each thread in each layer. So by our optimization, we can finally get 1 million eye-ups. The SOFA has been open-sourced and published to the GitHub this July. The open-source version contains 2 main features, RAID 5 and the Admin Web UI for system health monitoring. The commercial version is also rated. The rich features include 1 million eye-ups over the iSCSI, RAID 6, Valence Natural Service, Scale-Up on the fly, and write-limit control on SSD, and the HA capability. Okay, and thank you for your time. And if you are interested in our product, SOFA, please contact us. Thank you.