更新澄清:集群调度:描述调度推测线程对簇
T1被调度对一个集群并依次触摸存储器位置1,2,3,4,5,然后返回到1。
T2被同时安排到同一个集群并依次触及存储器位置6,2,3,然后尝试写入1,同时T1仍然依赖于存储器位置1而成为之前的状态。
我猜在T2写入内存位置1之前,T2应该等待或者等待执行到集群上,直到T1完成。
是否有可能确定哪些内存位置T1需要一致,如内存位置1,并将此信息存储在表中。这样,在T2执行到集群之前,T2可以检查表中是否需要写入内存位置,看到T1取决于内存位置1,因此延迟T2执行到集群?
类似于下面的PDF中的3.2章节所示。
感谢您的任何帮助。
我对我们如何可以采取一个想法和改进它研究了计算机科学类的话题。我选择的主题是集群调度。
我一直在读报纸,如http://apt.cs.man.ac.uk/people/yiapanip/taco13yiapanis.pdf
它好像当线程调度,检查与其他线程访问同一存储位置冲突,发生在一个线程写入并致力于内存后。有没有办法事先确定一个线程想要提交?
是否有那里的信息(关键字知道),以保持线程正在写入的内存位置表,以便后续线程可以安排到群集后,只检查正在写入的内存位置执行线程?如果存在对内存位置的写入,则后续线程需要该线程停止,但如果内存位置未被写入,因此不会在表中,则后续线程可能被调度到该群集。
感谢您的任何帮助。
我很乐意提供帮助,但我认为你需要澄清你的话题并思考一下:1)我不完全清楚你的意思是否有'预先确定线程想要提交的方法?”。 2)集群调度,这是一种技术,还是一个问题领域[我在猜测中工作,而不是主要在调度中]? 3)听起来你想知道未执行的线程的写入集合,以便最小化调度中的冲突......在某些情况下,这可能*近似*,但严格来说需要看到未来! –
更新了澄清,谢谢。 – user1461119
您可能需要查看软件事务内存:http://en.wikipedia.org/wiki/Software_transactional_memory –