Facebook inovhura kushandiswa kweF14 hash matafura

Facebook kambani yakaziviswa nezve yakavhurika sosi kushandiswa kwematafura ehashi F14, yakagadziridzwa kuti ishandiswe ndangariro. F14 inoshandiswa muFacebook infrastructure sechinzvimbo chemhando dzakawanda dzematafura ehashi uye inogona kuderedza kushandiswa kwendangariro pasina kupira kuita. F14 inodarika google::sparse_hash_map hash matafura, ayo kusvika parizvino akaonekwa seanonyanya kushanda maererano nekushandisa ndangariro. Iyo kodhi yeprojekiti yakanyorwa muC ++ uye inosanganisirwa muraibhurari Upenzi.

F14 inoreva maalgorithms ane collision resolution system yakavakirwa paviri hashing ne14 kutevedzana kwemasampuli (ketani ye14 slots inochengetwa mune imwe hashi tafura sero, uye nguva iri pakati pemasero inoverengerwa uchishandisa yekubatsira hashi basa). Kuti ikurumidze kusefa kusefa kwesero, kuita kunoshandisa vector rairo SSE2 ye x86_64 masisitimu uye NEON yeAarch64, iyo inobvumira kuenderana nekuita kwemashandiro ekusarudza slots nemaketani akakosha uye kusefa kunze makiyi mukati mecheni. Mabhuroki egumi nemana anotsvedza anogadziriswa panguva, inova chiyero chakakwana pakati pekushanda kwekushandisa processor cache uye huwandu hwekudhumhana.

Chinhu chakakosha cheF14 kugona kusarudza nzira dzakasiyana dzekuchengetedza data:

  • F14NodeMap - inoshandisa ndangariro shoma yemakiyi akakura uye epakati nepakati. Inova nechokwadi chekuti zvinhu zvakachengetwa zvisina kunanga nekufona kune malloc pane imwe neimwe inoiswa;
  • F14ValueMap - inopa kushoma ndangariro kushandiswa kwemakiyi madiki. Zvinhu zvinochengetwa mumaseru pachazvo (inline). Kune makiyi epakati uye makuru, nzira iyi inotungamira kune inooneka ndangariro pamusoro;
  • F14VectorMap - inoshanda nekukurumidza kumatafura makuru uye makiyi akaomarara, asi inononoka kune makiyi akareruka uye madiki matafura. Izvo zvinhu zvakarongedzerwa mune inoramba iine vanhu vakawanda uye inogadziriswa ne32-bit index pointer;
  • F14FastMap izano rakasanganiswa. Kana kiyi iri pasi pe24 bytes, ipapo F14ValueMap inosarudzwa, uye kana yakawanda, F14VectorMap inosarudzwa.

Facebook inovhura kushandiswa kweF14 hash matafura

Source: opennet.ru

Voeg