An implementation of multithreaded polyphase external merge sorting