Да, применение асинхронности для подсчёта суммы элементов большого массива из миллиарда чисел оправдано. Такая задача хорошо распараллеливается, так как сумма — ассоциативная операция.
В Kotlin Coroutine — это легковесный поток, который позволяет писать асинхронный код последовательно, используя приостановку и возобновление функций без блокировки потоков.
В asyncio корутины кооперативно делят поток event loop: задача выполняется до приостановки, после чего цикл может продвинуть другие готовые задачи или дождаться событий I/O.