由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 一个关于多个Python 程序共享数据结构的问题
相关主题
python pickle 目的是什么这次node把python也给干了
python读入文件疑问难得好文,Linkedin如何用Node beat Python,Ruby,Java
redis是否支持python复合数据结构?scala和go的区别
一般操作很多的数据用什么数据结构?python pickle 目的是什么
对哦,老姜,别人说的提醒了我如何查看一个程序/进程使用了哪些cpu?
redis set Time complexity: O(1) 怎么可能?刚开始看python
python, pickle别人说做Python的并行还不如去学C++,我不同意。
做web服务的语言mpirun vs script
相关话题的讨论汇总
话题: python话题: 程序话题: 数据结构话题: 共享话题: contractor
进入Programming版参与讨论
1 (共1页)
d**********6
发帖数: 112
1
写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个
程序。
问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?
如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。
谢谢。
m****o
发帖数: 182
2
直接上pyspark吧
d******c
发帖数: 2407
3
如果不是访问特别频繁,redis database,in memory database应该是容易的。
之前有个帖子,那是单机不一定要用数据库,但你多机,用数据库应该比搞spark之类
的简单。
https://www.mitbbs.com/article_t/Programming/31509253.html

【在 d**********6 的大作中提到】
: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个
: 程序。
: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?
: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。
: 谢谢。

g****t
发帖数: 31659
4
局域网内的话,直接share log文件就好了吧?
别的都很麻烦

【在 d**********6 的大作中提到】
: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个
: 程序。
: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?
: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。
: 谢谢。

n******g
发帖数: 2201
5
Serialization
Pickle
[在 dailygrind16 (天天绞肉机) 的大作中提到:]
:写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个
:程序。
:问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?
:如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。
:谢谢。
d**********6
发帖数: 112
6
谢谢大伙的回复。
Shared logging file 对于我的这个应用好像不太合适(不够快?)。在这个应用里,
那些Python 程序要共享的数据结构是动态增长的和无法提前预测的; 如果一个Python
程序产生了一个新的节点(到那个数据结构里的话), 别的Python程序就不应当再重
复这个劳动。这个有点像多个计算机程序之间shared data structure。
另外, 这是一个小应用,所以能够不用大的, 复杂的库是最理想的。
我先试试哥们推荐的几个库看看。

【在 g****t 的大作中提到】
: 局域网内的话,直接share log文件就好了吧?
: 别的都很麻烦

w***g
发帖数: 5958
7
你跑python程序时看看CPU有没有所有core都用满。别先急着折腾多机。
多机共享数据结构这个做起来不易,不到萬不得已不应该试。
不管是spark还是数据库,都只是多机共享数据, 但都谈不上什么结构。
用这些轮子做“结构”都会很慢。

【在 d**********6 的大作中提到】
: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个
: 程序。
: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?
: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。
: 谢谢。

w********m
发帖数: 1137
8
共享数据结构的第一个问题是access走哪条路,TCP还是HTTP。
Redis pubsub可以是首选。
d***a
发帖数: 13752
9
说的对。Software distributed shared memory不容易做好也不容易用好。Python好象
没有现成的轮子,那就不要跳这个坑。

【在 w***g 的大作中提到】
: 你跑python程序时看看CPU有没有所有core都用满。别先急着折腾多机。
: 多机共享数据结构这个做起来不易,不到萬不得已不应该试。
: 不管是spark还是数据库,都只是多机共享数据, 但都谈不上什么结构。
: 用这些轮子做“结构”都会很慢。

d***a
发帖数: 13752
10
你要是用数据库的话,数据库本身很可能会成为瓶颈。
Python有个MPI的模块叫mpi4py,也许可以试试。但我自己从来没在python里用过MPI,
只在C和FORTRAN里用过。

Python

【在 d**********6 的大作中提到】
: 谢谢大伙的回复。
: Shared logging file 对于我的这个应用好像不太合适(不够快?)。在这个应用里,
: 那些Python 程序要共享的数据结构是动态增长的和无法提前预测的; 如果一个Python
: 程序产生了一个新的节点(到那个数据结构里的话), 别的Python程序就不应当再重
: 复这个劳动。这个有点像多个计算机程序之间shared data structure。
: 另外, 这是一个小应用,所以能够不用大的, 复杂的库是最理想的。
: 我先试试哥们推荐的几个库看看。

相关主题
redis set Time complexity: O(1) 怎么可能?这次node把python也给干了
python, pickle难得好文,Linkedin如何用Node beat Python,Ruby,Java
做web服务的语言scala和go的区别
进入Programming版参与讨论
d**********6
发帖数: 112
11
好主意。 这个Python程序并不是computation-intensive。慢估计是别的原因。
之所以选择Python是因为有两个轮子好用。以前用Java 和 C 比较多。用Python认真地
写程序还是第一次。 所以来问问。
谢谢楼上大伙的回复。

【在 w***g 的大作中提到】
: 你跑python程序时看看CPU有没有所有core都用满。别先急着折腾多机。
: 多机共享数据结构这个做起来不易,不到萬不得已不应该试。
: 不管是spark还是数据库,都只是多机共享数据, 但都谈不上什么结构。
: 用这些轮子做“结构”都会很慢。

c******n
发帖数: 16666
12
嗯 查查瓶颈到底在哪里
时间紧就花钱砸硬件 租个大内存全ssd的机器来跑

【在 d**********6 的大作中提到】
: 好主意。 这个Python程序并不是computation-intensive。慢估计是别的原因。
: 之所以选择Python是因为有两个轮子好用。以前用Java 和 C 比较多。用Python认真地
: 写程序还是第一次。 所以来问问。
: 谢谢楼上大伙的回复。

t******o
发帖数: 61
13
给你出个馊主意:
跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥
等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力
ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习

【在 d**********6 的大作中提到】
: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个
: 程序。
: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?
: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。
: 谢谢。

a*****g
发帖数: 19398
14
o(∩_∩)o...哈哈!!!有创意i啊。

这个


【在 t******o 的大作中提到】
: 给你出个馊主意:
: 跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥
: 等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力
: ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习

w***g
发帖数: 5958
15
话是这么说, 但是contractor在这里起了啥作用?
难道不应该是逼contractor玩命干活?
完了怎么避免contractor取代自己?

【在 t******o 的大作中提到】
: 给你出个馊主意:
: 跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥
: 等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力
: ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习

g****t
发帖数: 31659
16
培训和指挥人是最麻烦的,如果不是自己的公司,当领导往往是个吃力不讨好的事。
有那教别人的时间,还不如花时间教教自己小孩.

【在 w***g 的大作中提到】
: 话是这么说, 但是contractor在这里起了啥作用?
: 难道不应该是逼contractor玩命干活?
: 完了怎么避免contractor取代自己?

s*********y
发帖数: 6151
17
没搞清楚 瓶颈在哪就开始瞎jb优化 一直到7楼才开始回归正题 Lol
g****t
发帖数: 31659
18
我给的share log文件的办法还是非常糙快猛的。而且很可能
是可以解决问题的。
log文件是慢,但是可以scale up. 你可以用很多机器。
还可以跨语言。跨操作系统。我有3个没人用的laptop,一个desktop,经常用这个办法。
起码你先能把分布式任务的逻辑跑通。


: 没搞清楚 瓶颈在哪就开始瞎jb优化 一直到7楼才开始回归正题 Lol



【在 s*********y 的大作中提到】
: 没搞清楚 瓶颈在哪就开始瞎jb优化 一直到7楼才开始回归正题 Lol
d**********6
发帖数: 112
19
对, 这个项目要的就是糙快猛。最主要的是要先看到那个数据结构长得什么样子。程
序的很多地方并不精细。
我先试试提高单机的搞法。 若不行, 就试试你的做法。 谢谢。

【在 g****t 的大作中提到】
: 我给的share log文件的办法还是非常糙快猛的。而且很可能
: 是可以解决问题的。
: log文件是慢,但是可以scale up. 你可以用很多机器。
: 还可以跨语言。跨操作系统。我有3个没人用的laptop,一个desktop,经常用这个办法。
: 起码你先能把分布式任务的逻辑跑通。
:
:
: 没搞清楚 瓶颈在哪就开始瞎jb优化 一直到7楼才开始回归正题 Lol
:

t******o
发帖数: 61
20
contractor在这里基本起摆设作用,
1. 一般来说,很难找到水平高的contractor,除非花大价钱;感觉lz所在的公司不大
想能出这个钱;
2. 考虑指挥contractor,干活质量监督,擦屁股,开会扯淡,花的时间,跟你自己
solo花的时间比较一下,看哪个时间少,就走哪条路。
3. contractor摆在这里主要衬托lz的team leading能力,至于私底下到底谁干了活,
不重要;重要的是,在老板眼里是你带着一帮人把这活干了。

【在 w***g 的大作中提到】
: 话是这么说, 但是contractor在这里起了啥作用?
: 难道不应该是逼contractor玩命干活?
: 完了怎么避免contractor取代自己?

a***n
发帖数: 623
21
这条回复要严肃点赞

【在 t******o 的大作中提到】
: 给你出个馊主意:
: 跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥
: 等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力
: ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习

1 (共1页)
进入Programming版参与讨论
相关主题
mpirun vs script对哦,老姜,别人说的提醒了我
如何让python dictionary sorting 的速度变得很快?redis set Time complexity: O(1) 怎么可能?
看到python的multiprocessing心中一痛python, pickle
python程序运行速度的问题做web服务的语言
python pickle 目的是什么这次node把python也给干了
python读入文件疑问难得好文,Linkedin如何用Node beat Python,Ruby,Java
redis是否支持python复合数据结构?scala和go的区别
一般操作很多的数据用什么数据结构?python pickle 目的是什么
相关话题的讨论汇总
话题: python话题: 程序话题: 数据结构话题: 共享话题: contractor