Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors

Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-fligh...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Daniels, Christopher Joseph, Hawkins, David Joseph, Duller, Michael, Brown, David A, Schlanger, Erik, Idicula, Sam, Jain, Rishabh
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Daniels, Christopher Joseph
Hawkins, David Joseph
Duller, Michael
Brown, David A
Schlanger, Erik
Idicula, Sam
Jain, Rishabh
description Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data "in flight". The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element's position within a column. Row identifiers each identifying a row in column are also generated.
format Patent
fullrecord <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_US10402425B2</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>US10402425B2</sourcerecordid><originalsourceid>FETCH-epo_espacenet_US10402425B23</originalsourceid><addsrcrecordid>eNqNi0EKwjAQAHvxIOof1gcUaq0fUBTv1qOUdbNtA0k2bFLE31vBB3gaGGaWxaOdomPgQGJsGABfqAzGKlMGz170DUjEKc3NYANDLwqJFDONEc1s8enYgJ9ctiXJfEeV7yCa1sWiR5d48-Oq2F7O7elacpSOU0TiwLm733ZVU9VNfTjW-3-aDxalPJw</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors</title><source>esp@cenet</source><creator>Daniels, Christopher Joseph ; Hawkins, David Joseph ; Duller, Michael ; Brown, David A ; Schlanger, Erik ; Idicula, Sam ; Jain, Rishabh</creator><creatorcontrib>Daniels, Christopher Joseph ; Hawkins, David Joseph ; Duller, Michael ; Brown, David A ; Schlanger, Erik ; Idicula, Sam ; Jain, Rishabh</creatorcontrib><description>Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data "in flight". The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element's position within a column. Row identifiers each identifying a row in column are also generated.</description><language>eng</language><subject>CALCULATING ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; PHYSICS</subject><creationdate>2019</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20190903&amp;DB=EPODOC&amp;CC=US&amp;NR=10402425B2$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,780,885,25564,76547</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20190903&amp;DB=EPODOC&amp;CC=US&amp;NR=10402425B2$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>Daniels, Christopher Joseph</creatorcontrib><creatorcontrib>Hawkins, David Joseph</creatorcontrib><creatorcontrib>Duller, Michael</creatorcontrib><creatorcontrib>Brown, David A</creatorcontrib><creatorcontrib>Schlanger, Erik</creatorcontrib><creatorcontrib>Idicula, Sam</creatorcontrib><creatorcontrib>Jain, Rishabh</creatorcontrib><title>Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors</title><description>Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data "in flight". The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element's position within a column. Row identifiers each identifying a row in column are also generated.</description><subject>CALCULATING</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>PHYSICS</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2019</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNqNi0EKwjAQAHvxIOof1gcUaq0fUBTv1qOUdbNtA0k2bFLE31vBB3gaGGaWxaOdomPgQGJsGABfqAzGKlMGz170DUjEKc3NYANDLwqJFDONEc1s8enYgJ9ctiXJfEeV7yCa1sWiR5d48-Oq2F7O7elacpSOU0TiwLm733ZVU9VNfTjW-3-aDxalPJw</recordid><startdate>20190903</startdate><enddate>20190903</enddate><creator>Daniels, Christopher Joseph</creator><creator>Hawkins, David Joseph</creator><creator>Duller, Michael</creator><creator>Brown, David A</creator><creator>Schlanger, Erik</creator><creator>Idicula, Sam</creator><creator>Jain, Rishabh</creator><scope>EVB</scope></search><sort><creationdate>20190903</creationdate><title>Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors</title><author>Daniels, Christopher Joseph ; Hawkins, David Joseph ; Duller, Michael ; Brown, David A ; Schlanger, Erik ; Idicula, Sam ; Jain, Rishabh</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_US10402425B23</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng</language><creationdate>2019</creationdate><topic>CALCULATING</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>PHYSICS</topic><toplevel>online_resources</toplevel><creatorcontrib>Daniels, Christopher Joseph</creatorcontrib><creatorcontrib>Hawkins, David Joseph</creatorcontrib><creatorcontrib>Duller, Michael</creatorcontrib><creatorcontrib>Brown, David A</creatorcontrib><creatorcontrib>Schlanger, Erik</creatorcontrib><creatorcontrib>Idicula, Sam</creatorcontrib><creatorcontrib>Jain, Rishabh</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Daniels, Christopher Joseph</au><au>Hawkins, David Joseph</au><au>Duller, Michael</au><au>Brown, David A</au><au>Schlanger, Erik</au><au>Idicula, Sam</au><au>Jain, Rishabh</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors</title><date>2019-09-03</date><risdate>2019</risdate><abstract>Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data "in flight". The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element's position within a column. Row identifiers each identifying a row in column are also generated.</abstract><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng
recordid cdi_epo_espacenet_US10402425B2
source esp@cenet
subjects CALCULATING
COMPUTING
COUNTING
ELECTRIC DIGITAL DATA PROCESSING
PHYSICS
title Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-05T13%3A44%3A35IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=Daniels,%20Christopher%20Joseph&rft.date=2019-09-03&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EUS10402425B2%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true