Re: Important question to all Euphoria users
- Posted by Matt Lewis <matthewwalkerlewis at gmail.com> Nov 14, 2005
- 577 views
Vincent wrote: > > Al Getz wrote: > > > > As to what/how/where/why Euphoria might support that in the future... > > im sure if the need rises Rob will consider adding something to manage > > separate cores, as he did with multitasking recently when a number of > > people suddenly became interested. > > Maybe he'd be nice enough to reply to this thread to shed some light > > on this subject... > > That is the problem... cooperative tasking is not going to help with this > situation. > The only way we effectively utilize multi-core processors, is by developing > multi-threaded software. The only way we can do that is if thread-safety was > implemented. > > This is where Rob's point comes in. Programming with multiple threads is quite > challenging worrying about when to set up mutex locks, race conditions, etc. > It's also a problem implementing implementing thread-safety in the first > place. > But if want to keep Euphoria beating, this surely must be addressed. Rob is > implementing cooperative tasking; but is that a waste of time? A layer of > abstraction > could be developed to ease the programmer from the challenges of thread > programming. > > Figure a CPU had 20 cores... Euphoria would only be able to utilize 1 of them > per execution. That is 1/20 of the CPU's throughput, thus a much greater > amount > of effiecency and performance is possible using multiple threads. > Threads may be the answer, at least in some cases. However, as of right now, I don't think anyone has really 'solved' this problem. Also, different operating systems may lead to different optimal solutions. For instance, comparing Windows to most *nix variants, Windows has lighter weight threads, while a *nix usually has much lighter weight processes. So the answer could be to figure out how to coordinate different processes rather than threads. Neither case is simple. Matt Lewis