คำถามติดแท็ก latency

5
รูปแบบการทำลายของ LMAX ทำงานอย่างไร
ฉันพยายามที่จะเข้าใจรูปแบบ disruptor ฉันดูวิดีโอ InfoQ และพยายามอ่านบทความของพวกเขา ฉันเข้าใจว่ามีบัฟเฟอร์วงแหวนที่เกี่ยวข้องซึ่งเริ่มต้นเป็นอาร์เรย์ขนาดใหญ่มากเพื่อใช้ประโยชน์จากตำแหน่งแคชการกำจัดการจัดสรรหน่วยความจำใหม่ ดูเหมือนจะมีจำนวนเต็มหนึ่งอะตอมหรือมากกว่านั้นซึ่งติดตามตำแหน่ง แต่ละเหตุการณ์ดูเหมือนว่าจะได้รับ id ที่ไม่ซ้ำกันและมันอยู่ในตำแหน่งของวงแหวนโดยการหาโมดูลัสของมันตามขนาดของแหวน ฯลฯ น่าเสียดายที่ฉันไม่เข้าใจวิธีการทำงานของสัญชาตญาณ ฉันได้ทำการซื้อขายแอพพลิเคชั่นมากมายและศึกษาโมเดลนักแสดงดูที่ SEDA และอื่น ๆ ในการนำเสนอของพวกเขาพวกเขากล่าวว่ารูปแบบนี้โดยทั่วไปแล้วเราเตอร์ทำงานอย่างไร อย่างไรก็ตามฉันไม่พบคำอธิบายที่ดีว่าเราเตอร์ทำงานอย่างไร มีคำแนะนำที่ดีสำหรับคำอธิบายที่ดีกว่านี้หรือไม่?

22
ฉันจะจำลองแบนด์วิธต่ำสภาพแวดล้อมแฝงสูงได้อย่างไร
ฉันต้องการจำลองแบนด์วิธต่ำการเชื่อมต่อเวลาแฝงสูงกับเซิร์ฟเวอร์เพื่อเลียนแบบเงื่อนไขของ VPN ที่ไซต์ระยะไกล แบนด์วิดท์และเวลาแฝงควรปรับเปลี่ยนเพื่อให้ฉันสามารถค้นพบชุดค่าผสมที่ดีที่สุดเพื่อเรียกใช้แพคเกจซอฟต์แวร์ของเรา

5
ค่าใช้จ่ายโดยประมาณในการเข้าถึงแคชและหน่วยความจำหลักต่าง ๆ ?
ใครสามารถให้เวลาโดยประมาณ (เป็นนาโนวินาที) ในการเข้าถึงแคช L1, L2 และ L3 รวมถึงหน่วยความจำหลักในโปรเซสเซอร์ Intel i7 ได้หรือไม่? แม้ว่านี่จะไม่ใช่คำถามการเขียนโปรแกรมโดยเฉพาะ แต่การรู้รายละเอียดความเร็วเหล่านี้เป็นสิ่งจำเป็นสำหรับความท้าทายในการเขียนโปรแกรมความหน่วงต่ำ

5
การลดเวลาหยุดการรวบรวมขยะในโปรแกรม Haskell
เรากำลังพัฒนาโปรแกรมที่รับและส่งต่อ "ข้อความ" ในขณะที่เก็บประวัติชั่วคราวของข้อความเหล่านั้นเพื่อให้สามารถบอกประวัติข้อความหากมีการร้องขอ ข้อความจะถูกระบุเป็นตัวเลขโดยทั่วไปจะมีขนาดประมาณ 1 กิโลไบต์และเราจำเป็นต้องเก็บรักษาข้อความเหล่านี้นับแสนรายการ เราต้องการเพิ่มประสิทธิภาพโปรแกรมนี้สำหรับเวลาแฝง: เวลาระหว่างการส่งและรับข้อความต้องน้อยกว่า 10 มิลลิวินาที โปรแกรมนี้เขียนใน Haskell และคอมไพล์ด้วย GHC อย่างไรก็ตามเราพบว่าการเก็บรวบรวมขยะหยุดชั่วคราวนานเกินไปสำหรับข้อกำหนดด้านเวลาแฝงของเรา: มากกว่า 100 มิลลิวินาทีในโปรแกรมจริงของเรา โปรแกรมต่อไปนี้เป็นเวอร์ชันที่เรียบง่ายของแอปพลิเคชันของเรา มันใช้Data.Map.Strictเพื่อเก็บข้อความ ข้อความจะถูกByteStrings Intระบุด้วย 1,000,000 ข้อความถูกแทรกในลำดับตัวเลขที่เพิ่มขึ้นและข้อความที่เก่าที่สุดจะถูกลบออกอย่างต่อเนื่องเพื่อเก็บประวัติไว้ที่สูงสุด 200,000 ข้อความ module Main (main) where import qualified Control.Exception as Exception import qualified Control.Monad as Monad import qualified Data.ByteString as ByteString import qualified Data.Map.Strict as Map …

10
วิธีที่เร็วที่สุด (เวลาแฝงต่ำ) สำหรับการสื่อสารระหว่างกระบวนการระหว่าง Java และ C / C ++
ฉันมีแอป Java ที่เชื่อมต่อผ่านซ็อกเก็ต TCP ไปยัง "เซิร์ฟเวอร์" ที่พัฒนาใน C / C ++ ทั้งแอพและเซิร์ฟเวอร์ทำงานบนเครื่องเดียวกันกล่อง Solaris (แต่เรากำลังพิจารณาที่จะย้ายไปยัง Linux ในที่สุด) ประเภทของข้อมูลที่แลกเปลี่ยนคือข้อความธรรมดา (ล็อกอินเข้าสู่ระบบ ACK จากนั้นไคลเอนต์ขอบางสิ่งบางอย่างการตอบกลับของเซิร์ฟเวอร์) แต่ละข้อความมีความยาวประมาณ 300 ไบต์ ขณะนี้เราใช้ Sockets และทุกอย่างก็โอเคอย่างไรก็ตามฉันกำลังมองหาวิธีที่เร็วกว่าในการแลกเปลี่ยนข้อมูล (เวลาแฝงที่ต่ำกว่า) โดยใช้วิธี IPC ฉันได้ทำการค้นคว้าทางเน็ตและได้ทำการอ้างอิงถึงเทคโนโลยีต่อไปนี้: หน่วยความจำที่ใช้ร่วมกัน ท่อ คิว รวมทั้งสิ่งที่เรียกว่า DMA (Direct Memory Access) แต่ฉันไม่พบการวิเคราะห์ที่เหมาะสมของการแสดงตามลำดับทั้งวิธีการใช้งานทั้งใน JAVA และ C / C ++ (เพื่อให้พวกเขาสามารถพูดคุยกันได้) ยกเว้นท่อที่ฉันสามารถจินตนาการได้ว่าจะทำอย่างไร ใครสามารถแสดงความคิดเห็นเกี่ยวกับประสิทธิภาพและความเป็นไปได้ของแต่ละวิธีในบริบทนี้ ตัวชี้ / …
101 java  c++  performance  ipc  latency 

2
การสำรองข้อมูล / สแนปชอตของ Amazon RDS ทำงานอย่างไร
ฉันเป็นลูกค้า Amazon RDS และกำลังประสบปัญหาเวลาแฝงในการเขียน amazon RDS ซึ่งสอดคล้องกับหน้าต่างสำรองโดยประมาณ ฉันจะเห็นการเพิ่มขึ้นอย่างรวดเร็วในตอนท้ายของสแนปชอต (ในกรณีที่เป็นประเด็น: การเรียกใช้สแนปชอตใช้เวลาประมาณ 1 ชั่วโมงและใน 5 นาทีสุดท้ายให้เขียนการเพิ่มขึ้นของเวลาในการตอบสนอง) ฉันกำลังเรียกใช้การปรับใช้ m1.large แบบหลาย AZ มีใครใน Stack ที่สามารถอธิบายได้ว่าการสำรองข้อมูล Amazon RDS ใช้งานได้จริงหรือไม่? ฉันได้อ่านเอกสาร Amazon RDS และเท่าที่ฉันสามารถบอกได้ว่า Amazon RDS ไม่ทำงานตามข้อมูลจำเพาะ โดยเฉพาะอย่างยิ่งการดำเนินการสำรองข้อมูล / สแน็ปช็อตเหล่านี้ควรกระทบกับแบบจำลองของฉันดังนั้นจึงไม่ทำให้เกิดการหยุดทำงาน / ประสิทธิภาพการทำงานหรืออย่างนั้นฉันคิดว่า ฉันสามารถแยกปัญหาออกเป็นหกคำถาม: เกิดอะไรขึ้นในทางเทคนิคระหว่างสแนปชอตและข้อมูลสำรองและแตกต่างกันอย่างไร (หากคุณตอบคำถามนี้โปรดบอกฉันว่าคุณสามารถยืนยันคำตอบของคุณในเชิงประจักษ์ได้หรือไม่หรือเพียงแค่อ้างเอกสารประกอบให้ฉัน) เวลาในการตอบสนองการเขียนที่เพิ่มขึ้นเป็นไปได้ที่คาดหวังในระหว่างหน้าต่างสำรองข้อมูลในการปรับใช้หลาย AZ หรือไม่ เวลาในการตอบสนองการเขียนที่เพิ่มขึ้นอย่างรวดเร็วคาดว่าจะเกิดขึ้นเมื่อสิ้นสุดสแนปชอตในการปรับใช้หลาย AZ หรือไม่ เวลาในการตอบสนองในการเขียนของฉันจะสูงขึ้นหรือไม่ถ้าฉันไม่ใช่หลาย AZ ในทางสถาปัตยกรรมฉันจะสามารถหลีกเลี่ยงการเพิ่มขึ้นของเวลาแฝงในการเขียนเหล่านี้ได้หรือไม่หากฉันรีดฐานข้อมูลของตัวเองที่ทำงานบนอินสแตนซ์ EC2 m1.large …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.