5G Beyond and 6G Communication Technologies

While initial 5G communication standards have been released and 5G networks have been implemented in some cities around the world, some research groups at world-leading universities and tech-giant companies have already started conducting research on the sixth-generation (6G) communication networks. Although 6G standards are expected to be available in around 2030, there are some speculations what could be included and supported in 6G networks. The major expected technologies or techniques in 6G:  Of course, 6G will support all available technologies in 5G such as  machine-to-machine communication, massive internet of things (massive IoT), enhanced mobile broadband (eMBB),  Ultra-Reliable and Low Latency Communications (URLLC), Flexible network operations. Enhanced network operations which are supported by machine learning applications to improve data-rate, energy-efficiency and flexibility. It will also support vehicles and drones to  enable intelligent transportation systems. Virtual

On the performance of Matlab and Parallel Computing

MATLAB is one of the most powerful scientific computing tools along with Python. Although Python is my favorite scientific programming language since it is opensource, well-documented and has plenty of libraries, I sometimes use MATLAB especially while dealing with very large matrices as MATLAB is highly optimized for large-scale matrix operations, consequently, it performs better at processing very large matrices.

From a parallel computing perspective, MATLAB actually strives to utilize all available CPU cores in a parallel way to maximize its performance and reduce the computation time when it is possible. Therefore, it does a kind of parallel computing when it is possible such as in matrix operations as these operations are very suitable to be run parallelly.  However, the parallel operation of the MATLAB might be restricted by bad coding practice of the users especially using for or while loops, because those loops are generally performed in a serial manner with an increasing or decreasing index.  Of course, MATLAB has advanced parallel processing libraries for more detailed operations, however, the best way to shorten the computing time and improve the performance of the calculation is avoiding implementing loops. For example, instead of performing K times MxN matrix multiplications in a loop, simply one KxMxN matrix (K, M, N are big numbers) multiplication would be enough, then the result matrix could be sliced if necessary for further operations. This would shorten the computation time by a great amount (10 times or more depending on the matrix size and operation) as this operation could be performed parallelly by Matlab using its core libraries.