NEC Claims Vector CPU Outperforms Spark
An arms race is shaping up in the machine-learning sector with the claim by NEC Corp. that its approach based on its vector processor accelerates data processing by more than a factor of 50 compared to the Apache Spark cluster-computing framework.
The Japanese computer and IT vendor (NEC; TSE: 6701) said this week its vector processor leverages “sparse matrix” data structures to accelerate processor performance in executing machine learning algorithms. NEC said it also developed middleware incorporating sparse matrix structures to simplify machine-learning tasks. The middleware can be launched from Python or Spark platforms in the same format as the machine-learning library, it added.
The vector processing approach would extend “low-cost analysis” to more users since it reduces the number of servers required for “large-scale data analysis that was formerly only available to large companies,” Yuichi Nakamura, general manager of NEC’s System Platform Research Laboratories, noted in a statement.
NEC launched development of its vector processor in 2014. Among the applications targeted at the time was allowing individual researchers to access datacenters processing large amounts of data. Along with large data sets, the vector technology also targets image analysis, the company said.
The vector processing approach is designed to accelerate sparse matrix computing in which most of the elements in a matrix have a value of zero. Sparse matrices use different data analysis and storage protocols depending on the application.
NEC said it developed a hybrid format for using sparse matrices in which processing is executed by column or row depending on number of non-zero elements. “This enables the high-speed processing of machine learning without decreasing the processing efficiency of vector computers,” it claimed.
The data processing framework also reduced “communication volume” require for machine learning through a data compression technique. For machine learning, the results of data processing are updated depending on the values in various columns. Using the sparse matrix approach, columns with no values are not updated.
“By removing these non-updated portions from communication, the reduction of communication volume is achieved,” NEC said.
The accompanying middleware that runs on Python or Spark was implemented in C++ and MPI (Message Passing Interface). As with Spark, NEC’s middleware was designed to run across multiple processors.
As for its performance claims, NEC said it compared a use case in which Spark was executed in a cluster of servers while its middleware ran on the company’s SX-ACE vector computer. The 50-fold increase in data processing performance was based on both platforms running 64 cores.
NEC unveiled its vector-processing framework for machine learning during this week’s International Symposium on Parallel and Distributed Computing in Innsbruck, Austria.
In June, the Japanese company announced it was investing $10 million in an Indian data analytics center that will focus on growing demand in the region for Hadoop processing and storage.