algorithms for processing large data