Используйте multiprocessing
. Например, для чтения CSVs
, названного как file1.csv
, file2.csv
и т.д .:
import multiprocessing
output=[]
data = range(0,len(files))
def f(x):
pd.read_csv(file_name+x+'.csv')
def mp_handler():
p = multiprocessing.Pool(64)
r=p.map(f, data)
return r
if __name__ == '__main__':
output.append(mp_handler())
Облачные вычисления звучат так, как вам нужно. Amazon, Microsoft и Google арендуют компьютерные ресурсы на платной основе за то, что вы используете.
Сервис Amazon является наиболее зрелым, и уже есть несколько вопросов об услуге Amazon, EG здесь и здесь .
Я не знаю, где ты делаешь свою докторскую степень ... Большинство азиатских, европейских и североамериканских университетов имеют несколько кластеров. Вы можете
Кроме того, классический прием заключается в том, чтобы использовать неиспользуемое время компьютеров вашей лаборатории / университета ... По сути, на каждом компьютере запускается клиентское приложение, которое обрабатывает номера, когда компьютер не используется. См. http://boinc.berkeley.edu/
Amazon EC2 (Elastic Compute Cloud) звучит именно так, как вы ищете. Вы можете подписаться на одну или несколько виртуальных машин (до 20 автоматически, больше, если вы запрашиваете разрешение ), начиная с 0,10 долл. США в час на ВМ, плюс расходы на пропускную способность (бесплатно между машинами EC 2 и Amazon ] другие веб-сервисы ). Вы можете выбирать между несколькими операционными системами (различные дистрибутивы Linux, OpenSolaris, Windows, если вы доплачиваете), и вы можете использовать уже существующие образы машин или создавать свои собственные. Если вы используете все программное обеспечение с открытым исходным кодом и не имеете больших затрат на пропускную способность, Похоже, что для выполнения вашей работы вам потребуется около 5000 долларов (при условии, что ваши 6 лет вычислительного времени были для чего-то сравнимого с их маленькими экземплярами с одним виртуальным процессором).
Как только вы зарегистрируетесь в службе и получите их инструменты настроены , довольно просто запустить новые виртуальные машины. Я даже потратил $ 0,10, чтобы запустить компьютер на несколько минут, просто чтобы проверить ответ, который я давал кому-то здесь, на StackOverflow; Я хотел что-то проверить в Solaris, поэтому я просто загрузил экземпляр и в течение 5 минут получил виртуальную машину Solaris.
Довольно просто запустить новые виртуальные машины. Я даже потратил $ 0,10, чтобы запустить компьютер на несколько минут, просто чтобы проверить ответ, который я давал кому-то здесь, на StackOverflow; Я хотел что-то проверить в Solaris, поэтому я просто загрузил экземпляр и в течение 5 минут получил виртуальную машину Solaris. Довольно просто запустить новые виртуальные машины. Я даже потратил $ 0,10, чтобы запустить компьютер на несколько минут, просто чтобы проверить ответ, который я давал кому-то здесь, на StackOverflow; Я хотел что-то проверить в Solaris, поэтому я просто загрузил экземпляр и в течение 5 минут получил виртуальную машину Solaris.Поток был переполнен указателями на EC2 Amazon - и это правильно. Они самые зрелые в этой области. Недавно они выпустили свою упругую платформу уменьшения карт, которая звучит похоже (хотя и не совсем), как то, что вы пытаетесь сделать. Google не подходит для вас, поскольку их вычислительная модель не поддерживает необходимую вам универсальную вычислительную модель.
Это руководство может оказаться полезным:
И это фантастический ресурсный сайт по этому вопросу:
Один из вариантов - арендовать виртуальные ресурсы, эквивалентные любому количеству компьютеров, которые вам нужны, и настроить их в качестве кластера, используя Amazon Elastic Compute Cloud .
Настройка кластера beowulf из них вполне возможна.
Для академического / научного использования существует несколько общественных центров, предлагающих возможности высокопроизводительных вычислений. В Европе есть DEISA. http://www.deisa.eu/ и члены DEISA. Аналогичные возможности должны быть в США, вероятно, через NSF.
Для коммерческого использования ознакомьтесь с предложениями IBM Deep Computing On Demand. http://www-03.ibm.com/systems/deepcomputing/cod/