VISC CPU-Architektur: Parallelisierung für Singlethread-Tasks?

Seite 1 von 1 - Forum: Prozessoren auf overclockers.at

URL: https://www.overclockers.at/prozessoren/visc-cpu-architektur-parallelisierung-fr-singlethread-tasks_240857/page_1 - zur Vollversion wechseln!


mat schrieb am 25.10.2014 um 12:43

Das Startup Soft Machines arbeitet seit 2006 an einer CPU-Architektur, die Single-Threading-Tasks auf mehrere CPU-Cores aufteilt und dadurch viele schwer parallelisierbare Programme bzw. auch Algorithmen stark beschleunigen könnte. AMD, Globalfoundries und unter anderem auch Samsung haben bereits 125 Millionen US-Dollar in das Unternehmen investiert und erhoffen sich damit scheinbar, Intel in Sachen Performance/Watt hinter sich zu lassen.


Smut schrieb am 25.10.2014 um 12:45

Hört sich zu gut an :D


InfiX schrieb am 25.10.2014 um 12:50

klingt interessant, wär was was wir im büro brauchen könnten :D


Römi schrieb am 25.10.2014 um 15:54

Man wird wohl sehen was draus wird. Auf mich macht es ein wenig den Eindruck als wäre es eher für Virtualisierung an sich sinnvoll... gut wer weiß.
Ich bin trotzdem sehr skeptisch, siehe Transmeta zb.
Wenn sie schaun dass es keine Nischenlösung ist sondern auch im Highend mitmischen klappt es ja vielleicht.

hier gut zusammengefasst:

Zitat
It’s unclear what Soft Machines intends to do with the chip itself—fundamental chip technology of this sort tends to fizzle out and disappear if not designed into chips from AMD, ARM, Intel, Qualcomm, or the other major chip vendors.
[...]
Three likely scenarios present themselves: assuming it’s viable, Soft Machines disappears for a year or two, while Soft Machines builds or acquires the peripheral logic and/or tools necessary to push this forward; if it’s seen as a threat, a company like Intel fast-tracks a competing technology; or finally, the company is acquired.
http://www.pcworld.com/article/2838...processors.html


othan schrieb am 26.10.2014 um 01:18

Es gibt noch Hoffnung für Flight Simulator X User :)


Bogus schrieb am 26.10.2014 um 09:29

wäre nice, wenn dadurch endlich wieder mal mehr wettbewerb entsteht bzw. amd mal wieder mit kommt. (intel kann's eh verkraften wenn sie am consumer markt mal weniger verkaufen. die sind imho eh groß genug)

was mir nicht verständlich scheint: wie soll es möglich sein anwendungen zu parallelisieren, welche nicht dazu konzipiert sind?
es hilft ja zb. nix, wenn ich zwei köche habe, und der 2te schon den ofen einräumen will während der erste noch am vorbereiten ist.


Error404 schrieb am 26.10.2014 um 10:47

Die Mechanik dahinter versuch ich erst garnicht zu verstehen ehrlich gesagt, aber das Konzept leuchtet mir ein! Was mir durch den Kopf geht, ist wieviel Leistung durch den Arbeitsaufwand der Parallelisierung verloren gehen würde dabei?


Hornet331 schrieb am 26.10.2014 um 15:44

Also ich bin da etwas skeptisch, die präsentieren da quasi die heiligen gral des multithreading wo ich einfach eine single threaded anwendung ohne zutun "multithreaden" werden kann.

Das sich der report von der linley group mehr wie werbung liest bestärkt mich nicht wirklich.

Wie bogus schon sagt, wirklicher serial probleme, wo ein vorgang auf das ergenniss eines anderen angewiesen ist kann auch das magisch visc sicher nicht multithreaden (es sei den wir bewegen uns in richtung spekulative thread execution, was aber nicht mit der energie ersparnis einher gehen würde)

So wie ich das sehe wird da eher auf programme abgeziehlt die schlecht kompiliert wurden, also quasi eine single thread app die durchaus potential hat sachen parallel ablaufen zu lassen. Ist das der fall, ist das nicht ein problem der cpu hersteller oder der compiler, sonderen eines der programmiere die die zur verfügung stehenden tools nicht oder nur mangelhaft verwenden.

Aber mal schaun was sich daraus ergibt. Bin gespannt auf die antwort von intel/arm/apple.


GrandAdmiralThrawn schrieb am 27.10.2014 um 14:48

Bei Transmetas Codemorphing Engine hats ja eigentlich auch recht gut funktioniert, mehrere x86 Operationen zu einem Very Long Instruction Word zusammenzusetzen und dann "parallel" abzuarbeiten. Nur da reden wir von Instruction Level Parallelism, das ist was ganz anderes als echtes Threading.

Aber darum gehts bei denen auch ned, wenn ich mir [das hier] so ansehe. Schon faszinierend, ob das wirklich soviel Gain bringt wie ich mir das so vorstelle?!

Das ist ja auch eher Instruction Level, also ganz unten auf der Hardwareebene.

Quote:

Zitat
The front end fetches instructions from the I-cache and places them into an instruction buffer. From this buffer, it attempts to form sequences of related instructions. For example, instructions with register dependencies can be grouped. These sequences are fairly short and are quite different from a conventional software thread; they can be better thought of as threadlets. The front end also performs global register renaming to avoid false dependencies. It can check pointers so as to group instructions that refer to the same memory location. The process of forming threadlets adds three cycles to the test chip’s pipeline.

After creating the threadlets, the front end dispatches them to the physical cores. When it sends a threadlet to a core, it also allocates in that core the rename registers that are needed to execute the instructions. The goal is to minimize cases in which an instruction in one core requires a register allocated in another core, as this situation requires multiple cycles to resolve.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025