Application programming interfaceIn our implementation, a pool is an i การแปล - Application programming interfaceIn our implementation, a pool is an i ไทย วิธีการพูด

Application programming interfaceIn

Application programming interface
In our implementation, a pool is an independent region of heap-allocated memory. Our memory allocator ensures that pages belong to exactly one pool (or none) at a time, so that we can use the virtual memory system to classify data into pools, as in Jigsaw. The programmer creates a new memory pool by calling: pool_t pool_create();
117
which returns an id for the newly created pool. To allocate size bytes of memory from the pool, the programmer calls: void* pool_malloc(size_t size, pool_t pool_id); Similarly, other variants like pool_calloc, pool_realloc, etc. augment the standard arguments with pool_id. This API lets the programmer tune the application’s cache performance by providing high-level hints at memory alloca- tion time. At first, it might seem to be a tedious task for the programmer to reason about the access patterns and cache locality of different data. However, we find it often suffices to identify a few prominent data regions and allocate them to different pools. Thus, only a few lines of code need to be modified to port applications manually to Whirlpool. Table 2 shows the applications we have manually ported, their key data structures, and the lines of code changed. Over- all, Whirlpool improves performance on these applications by 7.3% over Jigsaw and reduces data movement energy by 12%. Detailed results are presented in Sec. 4.
Application Pools Data structures LOC
Breadth-first search 4 Vertices, edges, frontier, visited 16 Delaunay triangulation 3 Points, vertices, triangles 11 Maximal matching 3 Vertices, edges, result 13 Delaunay refinement 3 Vertices, triangles, misc 8 Maximal independent set 3 Vertices, edges, flags 13 Spanning forest 3 Union-find parents, output tree, input edges 13 Minimal spanning forest 3 Union-find parents, output tree, input edges 11 Convex hull 2 Points, hull array 10 401.bzip2 4 arr1, arr2, ftab, tt 43 470.lbm 2 Source and destination grids 21 429.mcf 2 Nodes and arcs 14 436.cactusADM 2 Pugh variables, staggered- leapfrog grid data 53
Table 2: Pools found manually in various applications, plus lines of code (LOC) modified while porting to Whirlpool.
3.2 Modifications to baseline system
System calls to manage VCs: We expose VCs to user-level programs with a few additional system calls: sys_vc_alloc allocates a user-level VC, returning its unique id; sys_vc_free deallocates an existing VC; and sys_vc_tag tags a range of pages with a user-level VC. We also modify sys_mmap to op- tionally tag new pages with a specific VC. These system calls perform the adequate checks to ensure safety (e.g., allowing each process to map pages only to its own user-level VCs). Our allocator uses this low-level interface to map each pool to a different VC and tag pages from each pool with the right VC id. Our implementation is built on top of Doug Lea’s malloc [40], but other allocators could be used instead.
Support for more VCs per core: The baseline Jigsaw sys- tem supports 3 VTB entries per core for thread-private, pro- cess, and global VCs. To support user-level VCs, we add extra VTB entries and utility monitors (specifically, GMONs [11]). As we will see, supporting up to 4 pools is enough for most
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
อินเทอร์เฟซเขียนโปรแกรมประยุกต์ในการใช้งานของเรา สระว่ายน้ำคือบริเวณที่เป็นอิสระของหน่วยความจำฮีปจัดสรร ตัวจัดสรรหน่วยความจำของเราใจว่า หน้าอยู่ในสระเดียว (หรือไม่) ในเวลา เพื่อให้เราสามารถใช้ระบบหน่วยความจำเสมือนการจัดข้อมูลเป็นกลุ่ม เช่นจิ๊กซอว์ โปรแกรมเมอร์สร้างกลุ่มหน่วยความจำใหม่ โดยโทร: pool_t pool_create()117ซึ่งส่งกลับรหัสสำหรับสระว่ายน้ำที่สร้างขึ้นใหม่ การจัดสรรไบต์ขนาดหน่วยความจำจาก โปรแกรมเมอร์เรียก: โมฆะ * pool_malloc (ขนาด size_t, pool_t pool_id); ในทำนองเดียวกัน ตัวแปรอื่น ๆ เช่น pool_calloc, pool_realloc ฯลฯ เพิ่มอาร์กิวเมนต์มาตรฐานกับ pool_id API นี้ช่วยให้โปรแกรมเมอร์แอพลิเคชันแคชประสิทธิภาพการปรับแต่ง โดยการให้คำแนะนำระดับสูงในหน่วยความจำเวลา alloca-ทางการค้า ที่แรก มันอาจดูเหมือนเป็น งานน่าเบื่อสำหรับโปรแกรมเมอร์ให้เหตุผลเกี่ยวกับรูปแบบการเข้าถึงและแคท้องของข้อมูลแตกต่างกัน อย่างไรก็ตาม เราหามัน suffices มักจะระบุข้อมูลสำคัญไม่กี่ภูมิภาค และปันส่วนให้กับประเภทที่แตกต่างกัน ดังนั้น เพียงไม่กี่บรรทัดของรหัสต้องเป็น modified การพอร์ตโปรแกรมประยุกต์ด้วยตนเองให้น้ำวน ตารางที่ 2 แสดงการใช้งานด้วยตนเองเรามี ported โครงสร้างข้อมูลที่สำคัญของพวกเขา และบรรทัดของรหัสที่เปลี่ยนแปลง วนทั้งหมด เพิ่มประสิทธิภาพในการใช้งานเหล่านี้ โดย 7.3% ผ่านจิ๊กซอว์ และลดข้อมูลการเคลื่อนไหวพลังงาน 12% รายละเอียดผลลัพธ์จะแสดงอยู่ใน 4 วินาทีโครงสร้างสระว่ายน้ำข้อมูลแอพลิเคชันล็อคจุดยอดแรกกว้าง 4 ค้นหา ขอบ ชายแดน เข้าเยี่ยมชมระบบสามสกุล Delaunay 16 เอาท์พุท 3 จุด จุด รูปสามเหลี่ยม 11 สูงสุด 3 จุด ขอบ การจับคู่ผล refinement Delaunay 13 3 จุด สามเหลี่ยม เบ็ดเตล็ด 8 สูงสุดอิสระตั้ง 3 จุด ขอบ ให้ความแพลิด 13 Spanning ป่า 3 สหภาพหาพ่อแม่ ต้นไม้ออก อินพุตขอบ 13 น้อย spanning ป่า 3 สหภาพหาพ่อ แม่ ต้นไม้ อินพุตขอบ 11 Convex ฮัลล์ 2 จุด ตัวถังอาร์เรย์ 10 arr1 401.bzip2 4, arr2, ftab, tt 43 470. lbm 2 ต้นทางและปลายทางกริด 21 429. mcf 2 โหนดและส่วนโค้ง 14 436. cactusADM 2 พัคห์ตัวแปร ข้อมูลตาราง 53 แปรผันก้าวกระโดดตารางที่ 2: สระพบด้วยตนเองในการใช้งานต่าง ๆ รวมทั้งบรรทัดของรหัส (LOC) modified ในขณะที่ระบบน้ำวนเพื่อ3.2 Modifications ระบบพื้นฐานเรียกระบบการจัดการ VCs: เราตาก VCs ระดับผู้ใช้โปรแกรมมีกี่ระบบเพิ่มเติมโทร: sys_vc_alloc จัดสรร VC ระดับผู้ใช้ id เฉพาะของ กลับ sys_vc_free deallocates VC มีอยู่ และช่วงของเพกับ VC ระดับผู้ใช้แท็ก sys_vc_tag นอกจากนี้เรายังปรับเปลี่ยน sys_mmap op tionally แท็กหน้าใหม่กับ specific VC เรียกระบบนี้ดำเนินการตรวจสอบเพียงพอเพื่อความปลอดภัย (เช่น ช่วยให้แต่ละกระบวนการจะแมปหน้ากับ VCs ระดับผู้ใช้ของตนเองเท่านั้น) จัดสรรของเราใช้อินเทอร์เฟซนี้ระดับต่ำเพื่อแมปสระแต่ละ VC แตกต่างกันและเพจที่แท็กจากแต่ละพูมีรหัส VC ขวา ดั๊กลีส์ malloc [40] ระดับการใช้งานของเรา แต่ allocators อื่น ๆ สามารถนำมาใช้แทนสนับสนุนเพิ่มเติม VCs ต่อหลัก: พื้นฐานจิ๊กซอว์ sys-tem สนับสนุน 3 VTB รายการต่อหลักสำหรับเธรดส่วนตัว pro-อัตราเงินสงเคราะห์ปี และ VCs ทั่วโลก เพื่อสนับสนุนผู้ใช้ระดับ VCs เราเพิ่มเสริม VTB รายการและตรวจสอบยูทิลิตี้ (specifically, GMONs [11]) เราจะเห็น สนับสนุนถึง 4 สระว่ายน้ำเพียงพอมากที่สุด
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
Application Programming Interface
ในการดำเนินการของเราสระว่ายน้ำเป็นภูมิภาคที่เป็นอิสระของหน่วยความจำกองจัดสรร จัดสรรหน่วยความจำของเราเพื่อให้แน่ใจว่าหน้าเว็บที่อยู่ในสระว่ายน้ำตรงหนึ่ง (หรือไม่มี) ในเวลาเพื่อให้เราสามารถใช้ระบบหน่วยความจำเสมือนการจำแนกข้อมูลลงในสระว่ายน้ำในขณะที่จิ๊กซอว์ โปรแกรมเมอร์สร้างสระว่ายน้ำหน่วยความจำใหม่โดยการโทร: pool_create pool_t ();
117
ซึ่งส่งกลับ id สำหรับสระว่ายน้ำที่สร้างขึ้นใหม่ การจัดสรรไบต์ขนาดของหน่วยความจำจากสระว่ายน้ำ, โปรแกรมเมอร์โทร: void * pool_malloc (ขนาด size_t, pool_id pool_t); ในทำนองเดียวกันสายพันธุ์อื่น ๆ เช่น pool_calloc, pool_realloc ฯลฯ เพิ่มการขัดแย้งกับมาตรฐาน pool_id API นี้จะช่วยให้การปรับแต่งประสิทธิภาพการทำงานของโปรแกรมเมอร์แคชของโปรแกรมประยุกต์โดยการให้คำแนะนำในระดับสูงในช่วงเวลาการจัดสรรหน่วยความจำ ตอนแรกมันอาจดูเหมือนจะเป็นงานที่น่าเบื่อสำหรับโปรแกรมเมอร์ที่จะให้เหตุผลเกี่ยวกับรูปแบบการเข้าถึงและแคชท้องที่ของข้อมูลที่แตกต่างกัน อย่างไรก็ตามเรา fi ครั้งก็มักจะ Suf CES Fi เพื่อแจ้งไม่กี่ภูมิภาคข้อมูลที่โดดเด่นและปันส่วนไปยังสระว่ายน้ำที่แตกต่างกัน ดังนั้นเพียงไม่กี่บรรทัดของรหัสที่จะต้องเอ็ด Fi Modi เพื่อการใช้งานพอร์ตด้วยตนเองเพื่อวังวน ตารางที่ 2 แสดงการใช้งานที่เราได้แจ้งความด้วยตนเองโครงสร้างข้อมูลที่สำคัญของพวกเขาและบรรทัดของรหัสที่มีการเปลี่ยนแปลง เกินทั้งหมด, วังวนช่วยเพิ่มประสิทธิภาพในการใช้งานเหล่านี้ได้โดย 7.3% ในช่วงจิ๊กซอว์และลดพลังงานการเคลื่อนไหวของข้อมูลโดย 12% ผลรายละเอียดจะนำเสนอในวินาที 4.
สระว่ายน้ำการประยุกต์ใช้โครงสร้างข้อมูล LOC
Breadth- Fi ค้นหา RST 4 จุด, ขอบชายแดนเยี่ยม 16 Delaunay สามเหลี่ยม 3 คะแนนจุดสามเหลี่ยม 11 Maximal จับคู่ 3 จุด, ขอบผล 13 เนย์อีกครั้ง Fi nement 3 จุด, สามเหลี่ยมอื่น ๆ 8 ชุดอิสระสูงสุด 3 จุด, ขอบ, FL AGS 13 spanning ป่า 3 Union- Fi ND พ่อแม่เอาท์พุทต้นไม้ใส่ขอบ 13 Minimal ทอดป่า 3 Union- Fi ND พ่อแม่เอาท์พุทต้นไม้ใส่ขอบนูน 11 ฮัลล์ 2 คะแนน, ฮัลล์อาร์เรย์ 10 401.bzip2 4 arr1, arr2, ftab ทีที 43 470.lbm 2 ต้นทางและปลายทางกริด 21 429.mcf 2 โหนดและโค้ง 14 436.cactusADM 2 ตัวแปรพัคห์ staggered- ข้อมูลเกมเสือข้ามห้วยตาราง 53
ตารางที่ 2: สระว่ายน้ำพบด้วยตนเองในการใช้งานต่าง ๆ รวมทั้งสายรหัส . (LOC) Modi Fi เอ็ดในขณะที่การย้ายไปวังวน
3.2 Modi ไพเพอร์ Fi ไปยังระบบพื้นฐาน
สายระบบการจัดการ VCs: เราเปิดเผย VCs กับโปรแกรมระดับผู้ใช้กับระบบไม่กี่เพิ่มเติมโทร: sys_vc_alloc จัดสรรระดับผู้ใช้ VC กลับ ID ที่ไม่ซ้ำกัน; sys_vc_free deallocates ต่อ VC ที่มีอยู่ และแท็ก sys_vc_tag ช่วงของหน้าเว็บที่มีผู้ใช้ VC ระดับ นอกจากนี้เรายังปรับเปลี่ยนการ sys_mmap op- แท็กทีไม่เท่าเทียมหน้าใหม่ที่มี speci Fi C VC เหล่านี้ดำเนินการสายระบบการตรวจสอบที่เพียงพอเพื่อความปลอดภัย (เช่นให้แต่ละกระบวนการ map หน้าเท่านั้นที่จะ VCs ระดับผู้ใช้ของตัวเอง) จัดสรรของเราใช้อินเตอร์เฟซที่ระดับต่ำนี้เพื่อ map สระว่ายน้ำที่แตกต่างกัน VC และแท็กแต่ละหน้าจากแต่ละสระว่ายน้ำกับ VC ID ขวา การดำเนินงานของเราถูกสร้างขึ้นที่ด้านบนของดั๊กทุ่งหญ้า malloc [40] แต่ allocators อื่น ๆ ที่สามารถนำมาใช้แทน.
สนับสนุนสำหรับ VCs มากขึ้นต่อหลัก: จิ๊กซอว์พื้นฐานงานระบบ TEM สนับสนุน 3 รายการ VTB ต่อหลักด้ายส่วนตัว Cess โปรดังกล่าว และ VCs ทั่วโลก เพื่อสนับสนุน VCs ระดับผู้ใช้เราเพิ่มรายการ VTB พิเศษและจอภาพยูทิลิตี้ (ถอนรากถอนโคนระบุไว้, GMONs [11]) ในฐานะที่เราจะได้เห็นการสนับสนุนถึง 4 สระว่ายน้ำก็เพียงพอสำหรับมากที่สุด
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
โปรแกรมในการดำเนินงานของเรา สระว่ายน้ำเป็นเขตอิสระ กองจัดสรรหน่วยความจำ การจัดสรรหน่วยความจำของเราเพื่อให้แน่ใจว่าหน้าอยู่ตรงสระว่ายน้ำ ( หรือไม่มี ) หนึ่งครั้ง ดังนั้น เราสามารถใช้ระบบหน่วยความจำเสมือนเพื่อจำแนกประเภทของข้อมูลลงในสระว่ายน้ำ เป็น จิ๊กซอว์ โปรแกรมเมอร์สร้างสระหน่วยความจำใหม่โทร : pool_t pool_create() ;117ซึ่งส่งกลับ ID เพื่อสร้างใหม่ สระ จัดสรรขนาดไบต์ของหน่วยความจำจากสระน้ำ โปรแกรมเมอร์โทร : โมฆะ * pool_malloc ( size_t ขนาด pool_t pool_id ) ; และตัวแปรอื่น ๆเช่น pool_calloc pool_realloc , ฯลฯ เพิ่มอาร์กิวเมนต์มาตรฐานกับ pool_id API ซึ่งช่วยให้โปรแกรมปรับแต่งของโปรแกรมแคชประสิทธิภาพโดยการให้คำแนะนำพื้นฐานที่ alloca - หน่วยความจำเวลา tion . ที่จึงตัดสินใจเดินทางไป มันอาจจะดูเหมือนเป็นงานที่น่าเบื่อสำหรับโปรแกรมเมอร์ให้เหตุผลเกี่ยวกับการเข้าถึงรูปแบบและแคชท้องถิ่นของข้อมูลที่แตกต่างกัน อย่างไรก็ตาม เราจึงหาบ่อยๆ ซุฟจึง CES เพื่อระบุไม่กี่ที่โดดเด่นข้อมูลพื้นที่และจัดสรรให้สระต่างกัน ดังนั้นเพียงไม่กี่บรรทัดของรหัสต้องโมดิจึงเอ็ดพอร์ตการใช้งานด้วยตนเองกับน้ำวน ตารางที่ 2 แสดงโปรแกรมที่เราได้ด้วยตนเอง ported , คีย์ข้อมูลโครงสร้างและบรรทัดของรหัสที่เปลี่ยนไป มาช่วยเพิ่มประสิทธิภาพในการใช้งาน , วังวนเหล่านี้โดย 7.3 % กว่า จิ๊กซอว์ และช่วยลดพลังงานเคลื่อนไหวข้อมูล 12 % ผลการค้นหารายละเอียดจะนำเสนอในวินาที 4 .สระว่ายน้ำการประยุกต์ใช้โครงสร้างข้อมูล ล็กว้าง - จึงค้นหาแรก 4 จุด ขอบ ชายแดน ครั้งที่ 16 เนย์สามเส้า จุด 3 จุด , สามเหลี่ยม 11 สูงสุดที่ตรงกัน 3 จุด , ขอบ , ผล 13 เนย์อีกครั้งจึง nement 3 จุด , สามเหลี่ยม , Misc 8 สูงสุดอิสระ 3 จุด , ขอบ , fl AGS 13 ครอบคลุมป่า 3 สหภาพจึง ND พ่อแม่ , ต้นไม้ ผลผลิต ใส่ขอบ 13 น้อยที่สุดครอบคลุมป่า 3 สหภาพจึง ND พ่อแม่ , ต้นไม้ออก , ใส่ขอบนูนฮัลล์ 11 2 แต้ม ฮัลล์ เรย์ 10 401.bzip2 4 arr1 arr2 ftab , , , TT 43 470.lbm 2 แหล่งที่มาและปลายทางกริด 21 429.mcf 2 โหนดและโค้ง 14 436.cactusadm 2 พูตัวโงนเงน - leapfrog 53 ตารางข้อมูลตารางที่ 2 : พบด้วยตนเองในการใช้งานต่าง ๆสระ บวกกับสายรหัส ( loc ) โมดิจึงเอ็ดขณะใส่กับน้ำวน3.2 อนุรักษ์สิ่งแวดล้อมจึง ทำให้ระบบพื้นฐานโทรระบบจะจัดการ vcs เราเปิดเผย VCS ไปยังผู้ใช้ระดับโปรแกรมกับระบบไม่กี่เพิ่มเติมโทร : sys_vc_alloc จัดสรรระดับผู้ใช้ VC กลับมาของรหัสเฉพาะ ; sys_vc_free deallocates เป็น VC ที่มีอยู่ และ sys_vc_tag แท็กช่วงของหน้าเว็บที่มีระดับผู้ใช้ VC . เรายังแก้ไข sys_mmap กับ OP - tionally แท็กหน้าเว็บใหม่ด้วยกาจึง C VC . เหล่านี้ระบบโทรศัพท์การตรวจสอบเพียงพอเพื่อความปลอดภัย เช่น การอนุญาตให้แต่ละกระบวนการแผนที่หน้าเว็บเพียงใน VCs ระดับผู้ใช้ของตัวเอง ) การจัดสรรของเราใช้อินเตอร์เฟซระดับนี้ในแผนที่แต่ละสระว่ายน้ำ VC ที่แตกต่างกันและแท็กหน้าเว็บจากแต่ละสระกับ VC ใช้งาน ID ของเราถูกสร้างขึ้นที่ด้านบนของดั๊กทุ่งหญ้า malloc [ 40 ] แต่ allocators อื่นๆสามารถใช้แทนการสนับสนุนสำหรับ VCs ต่อหลัก : พื้นฐานแบบจิ๊กซอว์ sys - รองรับ 3 จำนวนรายการต่อหลักในกระทู้ส่วนตัว โปรเซส และระดับโลก VCs เพื่อสนับสนุน VCs ระดับผู้ใช้ที่เราเพิ่มรายการพิเศษและตรวจสอบจำนวนสาธารณูปโภค ( กาจึงคอลลี่ gmons , [ 11 ] ) เท่าที่เราเห็น สนับสนุนได้ถึง 4 สระ ก็เพียงพอสำหรับมากที่สุด
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: