b******l 发帖数: 1632 | 1 电面原来要问那么些具体知识啊。。。
问我:C# 里啥时候用 static。我竟然忘了。。。 只好说,我过去用了好多 static
啊,但为啥涅?。。。 然后念叨了半天,说,好像是为了各程序间传数据,因为我印
象最深的是我用 static object 构建了一个 queue,来在几个 module 之间实现
pipeline,从而这些 modules 可以做并行处理。。。
然后问:database design 中, denormalization 有什么用?我心说,靠,十几年前
国内程序员等级考试问题啊,我现在哪里还记得?这个不是 google 一下的事么?回来
一 google,是为了 performance。立刻想起前几年在组里给大家做 data mining 的科
普时讲过这个。。。
接着问了个 multiple testing 的问题,我说需要 significantly justify the p-
value,这是最常见的 statistical fallacy。他问 justify 的公式是啥。。。 我当
时都想直接说:你不会 wiki 一下子啊?我现在又不用这个,我 |
|
f*******e 发帖数: 5594 | 2 不错,人的大脑是并行处理的,某个思维意识的加强,就会压抑其他的思维意识。用正
见、正观来代替其他的攀缘心,就是一个价值转移的过程。 |
|
g*****g 发帖数: 45 | 3 你至少可以去办第一和第二步。 在我印象中,他们根本不在乎你有没有I-20。
我当时去南区学生处领表时,带的是我的email录取信。找导师签字时,用的还是
email。我想如果你有正式的录取通知信,到第三步都没有问题。
如果你赶时间,可以好好筹划一下,很多事情都可以并行处理的。 |
|
h*****o 发帖数: 446 | 4 1. 搜索的算法上会有些区别
2. 计算的能力,cache的大小,也很重要
这点上,恐怕google远强于baidu
几年前有个在百度工作的朋友告诉我,baide的服务器数量,
缓存的数据量,和google差很多数量级(数字忘了)
之外,还有很多技术上的区别,比如好象谣传,google之前,
search engine都用大量的server,google初期时,用了大量的
廉价pc,并行处理数据,来降低成本
只知道这些...
至于要鉴别好坏,就要看search的速度,和search结果的相关度了,
一般google比较好,但有时msn search也还行,至少有一次
我用google找不到,用msn找到了 |
|
p*********w 发帖数: 606 | 5 【 以下文字转载自 Quant 讨论区 】
发信人: philofellow (大智若愚), 信区: Quant
标 题: 找暑期实习,finance IT,有没有大牛帮忙推荐下
发信站: BBS 未名空间站 (Thu Mar 25 23:47:49 2010, 美东)
来组织这里找找看。我是自动化系0字班的。
本人计算机博士在读,预计11年毕业,想找finance IT方面的实习
背景:
1. 熟练使用c++,平时research都用这个写code,有时用python写脚本做数据处理,用
过SQL, java, matlab,现在一直在做的是大规模数据并行处理,用mpi。
2. 在国内搞过几年machine learning,了解并使用过svm等工具。
3. 目前在一个协会作fixed income分析,主要是treasury部分,协会大概管理$4.6
million。其中一半资本在treasury sector。目前正在做一个项目,用svm作回归预测
失业率。
4. 五年国内股市股票交易经验。
5. 已过cfa一级。
6. 老实说,quant方面可能比较薄弱,这也是我专注于找fi |
|
h*******c 发帖数: 248 | 6 我一直觉得看中文文章属于图像识别,而看英文基本上是转成语音再识别。中文阅读在
一定程度上是可以在大脑中并行处理的,英文基本上是串行的。按理说中文阅读和英文
阅读大脑中的活跃区域都应该是不同的,应该在生理层就有区别,不是心理层。 |
|
z****e 发帖数: 54598 | 7 什么c, perl, python这都是书呆子喜欢的东西
真正想搞图形应用的,上opengl
3d游戏的话,很少有不用opengl的
opengl是垮平台的,书呆子的东西大部分都垮平台
而且倾向于linux,不少数据库什么的文档都是先linux后windows
版本更新前的实现顺序也是先linux后windows
比如firebird,而且对于windows的缺省设置比较麻烦
比如firebird缺省设置运行在多个cpu的某一个cpu上
要修改设置才能实现多个cpu的并行处理
而linux上来就是缺省多个一起上
如果想搞图形处理,也就是倒腾image这些
上photoshop,这个最早就是mac版的
后来才搞出了windows版
还有anime studio之类的
只要跟艺术沾边的,基本上都有mac版
而且以mac版为主,一般都推荐使用mac版
优先于windows版,jobs本人就搞过一段时间的动画
所以对于这种艺术上的图形处理,mac是比较好的选择
搞艺术的人大部分都喜欢mac
简单说就是搞技术普通青年的侧重linux,搞艺术的文艺青年侧重macosx
剩下那个,对号入座吧 |
|
k******g 发帖数: 1540 | 8 ☆─────────────────────────────────────☆
sunnybank (嘤鸣求友) 于 (Sun Dec 30 21:30:08 2012, 美东) 提到:
macbook的机器做工的确很好看
也很轻薄
OS系统也做得很花哨漂亮
但使用后发现一个特点:
很多理工科要用的软件,比如专业作图和画图软件,专业计算用的软件,
专业领域内要用的软件等等
上述很多软件都没有mac OS系统版的,即使个别有,也没有windows下好用
所以mac OS 不适合理工科的学生和研究人员用
很适合文科的人用
如果非要用macbook的机器,也建议安装个双系统什么的
这样似乎可以两全其美
欢迎大家来讨论这个话题
☆─────────────────────────────────────☆
Acartia (深水鱼) 于 (Sun Dec 30 21:31:40 2012, 美东) 提到:
板凳,沙发,眼睛,茶水
☆─────────────────────────────────────☆
wavelets02 (好心当成驴肝肺) 于 (Sun ... 阅读全帖 |
|
c*******h 发帖数: 1096 | 9 cpu本质上是串行的,所以为了提高速度而用多线程在大多数情况下是白费功夫的 |
|
w***g 发帖数: 5958 | 10 如果有I/O的话,那么一个线程block了另一个还可以运行,所以多线程仍然会比单线程
快。
hyperthread技术就是基于这个原理,只不过它是用硬件在单CPU上实现的多线程(对
CPU来说,I/O也包括memory access)。
这个问题跟workload很有关系,需要具体分析。 |
|
a***c 发帖数: 315 | 11 排名不重要,
对于硕士来说。地点和在工业界的声誉和关系最重要。还有就是课程设置。佐治亚理工
地理位置比不上加州的学校。但在工业界的声誉和关系都很好。很多大公司都去佐治亚
理工招人。佐治亚理工的硕士program比博士program好。因为佐治亚理工在
在工业界的声誉比在学术界的声誉高。而且佐治亚理工几乎所有计算机系该有的课程都有
(操作系统,编译原理,图形学,人机界面,网络安全,人工智能,
机器人,算法,密码学,机器学习,数据库,电脑动画,电脑游戏,无线通讯,科学计算,
体系结构,软件工程,并行处理,嵌入系统,芯片设计,信号处理,图像处理,网络,
互联网应用)。估计很少学校开的课能比佐治亚理工全。
而且硕士又不做研究,工业界的声誉和关系对于硕士找工作来讲最重要。找个工业界背景
强联系多的教授,做个硕士毕业设计。找工作应该比emory容易很多。
硕士很多实习和工作机会都是老板推荐的。
举个例子,偶过去的老板在intel干过。现在毕业6个硕士都在intel。 |
|
h********n 发帖数: 17 | 12 公司总部在波士顿城里,同时在欧洲、北美和南美等多个国家
运作。
该职位参与开发智能化的实时在线广告购买与投放系统。系统
运行将运行于Linux Cluster, 需要日处理3 Billion以上实时
广告请求,需具有高度并行处理能力、可靠、可扩展。
公司提供H1B和绿卡申请,从Intern到高级软件工程师都欢迎咨询。
直接站内邮件即可,谢谢! |
|
l******t 发帖数: 660 | 13 SQL Server 锁和多任务调度 by John Huang, MVP and MCM
09/19/2012 Wed, 7pm PST
09/20/2012 周四上午10 点 (北京時間)
https://join.microsoft.com/meet/kwkou/S5P3QLC0
安装Microsoft Lync 2010 Attendee 会议客户端
SQL Server 锁和多任务调度 by John Huang, MVP and MCM
随着计算机硬件技术的发展,系统对多任务并行处理的需求日益增加, 多线程编程在C
# 和 Java 等程序语言内部因此得到极大的简化。 SQL Server其实也很早就就通过系
统存储过程在这方面提供了强大支持。尤其是在SQL Server 2005推出后, 新增的功能
使得SQL Server 在多任务初始化和调度方面更加趋近完善。 我们将要讨论如何使用T-
SQL 实现多任务初始化和调度。
SQL Server 锁的工作原理
信号
任务调度
John Huang, passionate SQL Server technologist, ... 阅读全帖 |
|
|
m**t 发帖数: 1292 | 15 看了juniper 也类似的设计. 就是各种RULE 和policy 在data plane 顺序或并行处理的问
题。 具体到ACCESS LIST, 有多种ACCESS LIST, 大概在CLI 有SYNTAX 检查,MATCH
OPTIONS 在不同CONTEXT 下有不同。 在DATA PLANE 都可以做到ASIC 或 NPU 里面,最好不
要太复杂。 |
|
|
c*m 发帖数: 1114 | 17 Saving time = Saving money.
当然如果你有足够的时间去浪费
或者你并行处理效率超高的话,倒是不用这么快的网络。 |
|
c*m 发帖数: 1114 | 18 你不是传说中的文科大叔么? 还折腾啥cluster.
硬件即使有了,会写并行处理的软件么? |
|
c*m 发帖数: 1114 | 19 no joke.当然是i5-750.
这里面不光是cache的影响,i5-660这类胶水cpu还会导致内存效率低下,对计算很不利
。而且matlab现在的并行处理包支持multicore.
胶水cpu由于内嵌gpu,一般比较适合用于HTPC. |
|
d****n 发帖数: 12461 | 20 我觉得你应该贴需求,贴方案,让大家来选配件。
例如存储那块,你方案都没有。一个$90的1T硬盘就能够并行处理,海量运算了?
而且需求也含糊不清。来这里是个人都说自己的机器要做科学计算,要用cuda。这和征
友要1.7个子,有房有车差不多说法。 |
|
|
y*******n 发帖数: 10103 | 22 现在laptop销量比desktop高很多啊,casual玩家必然大多是laptop用户。
如果能做到跟intel i3、i5价格类似的laptop,但能把COD、L4D跑的顺,这还是有市场
的,intel没独立显卡只玩这些游戏会相当吃力,但AMD的APU是可以玩的,这是有无的
问题。
视频解码那些,顶多是快慢的问题。而且APU对opencl支持投入增大,有APU的助力,这
些并行处理的任务最终还是GPU快过cpu的。 |
|
s*****m 发帖数: 13092 | 23 两个band同时并行处理数据?是single band的两倍速度? |
|
m*****n 发帖数: 3644 | 24 哦,v3啊,我以为V2。V2 8个核。v3主频还低些啊。
讨论一下。
超线程是虚拟cpu吧,只针对对服务器多任务有用,工作站并行处理大任务没用。等于
每个cpu core load 50%,然后分成2个cpu core,但加起来还是100%,没有变2个cpu
core。大负荷计算,还是得拼cpu hard core总数量。DDR4和DDR3,网络上有测试。
DDR2有提高,DDR3的提高就很少了,DDR4的提高3%都不到。至于Ivy Bridge vs
Haswell架构上的区别,网上也早有定论,晚一代不等于先进一代。性能这两者差不多
。在总价格差不多的情况下,我觉得性能 4 cpu 32core秒杀 2 cpu 20core,更何况4
cpu的主频还高那么一点点呢
4个cpu机箱一个全塔应该够吧。也就高个20公分,放office无所谓,又不是放卧室。 |
|
|
c*****s 发帖数: 214 | 26 说对了,后来还真是让两台机器并行处理。
最终时间减到了小于50分钟。
析系 |
|
l******e 发帖数: 12192 | 27 Java有没有办法知道机器有几个核,利用多核并行处理? |
|
a*f 发帖数: 5682 | 28 去学学elrang,go,akka的并行处理机制对你会更有帮助。 |
|
F****n 发帖数: 3271 | 29 高并发下不管实现在哪里都会有瓶颈问题
比如放到app server一样会有瓶颈,
所以这根本不是stored procedure的问题,
而是system design的失误,
没有正确identify scaling component
只有一种情形下你说的 make sense
就是stored procedure的code和 db query可以完全分开来并行处理
但这种情况比较少见,多数条件下stored procedures 需要直接 access db,
分开来反而增加traffic |
|
g*****g 发帖数: 34805 | 30 Nothing stops you from passing the values in the constructor
Predictor implements Runnable
ExcutorService.execute(new Predictor(input)) |
|
T***B 发帖数: 137 | 31 The problem is the Predictor constructor needs to do some heavy lifting work
thus is slow. I am thinking to pre-create a bunch of Predictor objects and
put them in a BlockingQueue. Once predict() is called, the handler dequeues
a predictor and pass it to ExecutorService. |
|
f*******t 发帖数: 7549 | 32 constructor为什么slow?不能优化一下吗?
另外这个handleRequest()为什么slow?要找出原因再对症下药。如果它消耗很大CPU资
源,用threadpool执行不一定能提升效率;如果是synchronous地等待什么external
resource,多线程也许有帮助,不过也可能引入race condition和死锁等问题。 |
|
c*********e 发帖数: 16335 | 33 别在constructor里做费时的事情,最好把new时不必要做的事情,放在一个新的method
里,要用的时候才call那个method. |
|
g*****g 发帖数: 34805 | 34 This is a classic producer/consumer problem then, you should be able to find
many examples online. You could create a fix thread threadpool, and the
same number of Predictor, you then pass predictor and your input to your
jobs before sending them to executor.
work
and
dequeues |
|
l*******m 发帖数: 1096 | 35 是SVM classifier吧。你这个应该可以。主要缺点是多个model的copies。当然如果不
是太大,这样倒是省心。如果太大,把model本身(一堆矩阵)独立出来,设成global
object就好了
work
and
dequeues |
|
|
|
T***B 发帖数: 137 | 38 谢谢各位的回答。
oop2: getInput()不需要等待。对,我是one input (and output) per method. (我现
在不方便,晚上再去拜读你的文章)
lightroom: global object 会有bottleneck在Predictor.predict(), 因为它是
synchronized.
goodbug: 如果采用producer/consumer pattern, 你觉得什么是producer, 什么是
consumer, 什么是work queue 比较好 |
|
T***B 发帖数: 137 | 39 fantasist: constructor没法更多优化了。predict calls are CPU intensive. multi
threading should help since our servers have 8/16 cores. |
|
T***B 发帖数: 137 | 40 I modified the code in the original post a little bit to make it clearer. |
|
s******e 发帖数: 493 | 41 Executor framework allows you to specify your own thread factory for
creating the threads. If you have to associate one predicator class to each
thread, you can do it there. But since predicator class is expensive to
create, you'd better ask yourself if it is absolutely needed for each thread
having its own predicator instance.
After that, you can simply implement callable interface, pass the input to
the constructor of the implemented class and save the input as a class
variable for use later. ... 阅读全帖 |
|
c*********e 发帖数: 16335 | 42 constructor里面到底是什么,怎么这么花时间?
multi |
|
o**2 发帖数: 168 | 43 我用FMP把楼主的程序重写了一遍,在这里分多层贴出来,供楼主参考,也欢迎大家评
论。
FMP的binary可以在这里download:http://search.maven.org/#browse|1968728870
Predictor class完全没有变化,我加的都是些print outs。
public class Predictor {
private static int sn = 0;
private synchronized static int incSN () {
return sn++;
}
private String mySN = "Predictor#" + incSN ();
public Predictor () {
System.out.println (mySN + " is starting - " + Thread.currentThread
().getName ());
// time consuming stuff.
System.out... 阅读全帖 |
|
o**2 发帖数: 168 | 44 PredictSvc class也没有变化,因为在FMP改写后,被一个新的FmpPredictSvc class取
代了。
public class PredictSvc {
private Predictor predictor = new Predictor ();
public List handleRequest (List inputs) {
List results = new ArrayList ();
for (int i = 0; i < inputs.size (); ++i) {
String result = predictor.predict (inputs.get (i));
results.add (result);
}
return results;
}
} |
|
T***B 发帖数: 137 | 45 I downloaded FMP library and tried it out. the FMP interface is very
intuitive - I like it. Here is my test code:
Predictor.java
public class Predictor {
private String name;
public Predictor(String name) {
// heavy lifting stuff.
this.name = name;
}
public synchronized String predict(String input) throws
InterruptedException {
System.out.println(name + ": making predict for " + input);
Thread.sleep(100);
System.out.println... 阅读全帖 |
|
T***B 发帖数: 137 | 46 smectite: Yes, I wanted to associate predictor objects to threads in the
pool. Thanks for pointing out Executor framework allows injecting of custom
threads. I will look into it. |
|
o**2 发帖数: 168 | 47 这个FmpPredictSvc是原先PredictSvc的替换。因为在FMP版中,Predictor变成了
active object,于是使用的方法也必须调整。
我在这里解释一下这个"predictor",因为在第一个for loop中,我们把所有的input
strings都用messenger.callService() method 发给了这个"predictor",那为什么
它能并发呢?
这是因为"predictor"在Main class里被创建成了一个cluster,就是一个active
object名下有多个active implementation objects,impl object的个数就相当于该
cluster的容量。当这样一个active object接收call request的时候,messenger会自
动把request分配给空闲的impl object,直到所有的impl object都变忙了。
于是第一个loop是把requests全发给"predictor",收到相应数量的Future,也就是
IReturn instances。第二个loop... 阅读全帖 |
|
o**2 发帖数: 168 | 48 最后这个Main class算是user program里设置active objects的地方。
其中的"builder"是用来执行费时的constructor,也是一个cluster,用法和上面介绍
的"predictor"是一样。
import java.util.ArrayList;
import java.util.List;
import com.fastmessenger.impl.Messenger;
import com.fastmessenger.model.IMessenger;
import com.fastmessenger.model.IReturn;
public class Main {
public static void main (String[] args) {
List inputs = new ArrayList ();
for (int i = 0; i < 10; i++) {
inputs.add ("input" + i);
... 阅读全帖 |
|
o**2 发帖数: 168 | 49 再贴点运行结果,供没空动手的同学参考。
Predictor#0 is starting - main
Predictor#0 is ending
Predictor#0 predict(input0) is starting - main
Predictor#0 predict(input0) is ending
Predictor#0 predict(input1) is starting - main
Predictor#0 predict(input1) is ending
Predictor#0 predict(input2) is starting - main
Predictor#0 predict(input2) is ending
Predictor#0 predict(input3) is starting - main
Predictor#0 predict(input3) is ending
Predictor#0 predict(input4) is starting - main
Predictor#0 predict(input4) is ending
Pr... 阅读全帖 |
|
o**2 发帖数: 168 | 50 You got it :)
FMP支持active object cluster,所以程序可以写得稍微更简单一点。 |
|