The Google File System : part7 EXPERIENCES

linux系统(ubuntu14.04)误更新显卡驱动,导致AMAX机器崩溃 出现了进不去系统,initialize failed.的情况。 开机不停按F8,回到上一次正确的配置,依然出现上述情况。 经过排查,觉得是升级了显卡驱动导致的,所以重新下载了一个合适的驱动:http://cn.download.nvidia.com/XFree86/Linux-x86_64/378.09/NVIDIA-Linux-x86_64-378.09.run 安装在/home下 【如 阅读详情
7. EXPERIENCES
In the process of building and deploying GFS, we have experienced a variety of issues, some operational and some technical.

Initially, GFS was conceived as the backend file system for our production systems. 
Over time, the usage evolved to include research and development tasks. 
It started with little support for things like permissions and quotas but now includes rudimentary forms of these. 
While production systems are well disciplined and controlled, users sometimes are not. 
More infrastructure is required to keep users from interfering with one another.
Some of our biggest problems were disk and Linux related.
Many of our disks claimed to the Linux driver that they supported a range of IDE protocol versions but in fact responded reliably only to the more recent ones. 
Since the protocol versions are very similar, these drives mostly worked,but occasionally the mismatches would cause the drive and the kernel to disagree about the drive’s state. 
This would corrupt data silently due to problems in the kernel. 
This problem motivated our use of checksums to detect data corruption, while concurrently we modified the kernel to handle these protocol mismatches.
Earlier we had some problems with Linux 2.2 kernels due to the cost of fsync(). 
Its cost is proportional to the size of the file rather than the size of the modified portion. 
This was a problem for our large operation logs especially before we implemented checkpointing. 
We worked around this for a time by using synchronous writes and eventually migrated to Linux 2.4.

Another Linux problem was a single reader-writer lock which any thread in an address space must hold when it pages in from disk (reader lock) or modifies the address space in an mmap() call (writer lock). 
We saw transient timeouts in our system under light load and looked hard for resource bottlenecks or sporadic hardware failures. 
Eventually, we found that this single lock blocked the primary network thread from mapping new data into memory while the disk threads were paging in previously mapped data.
Since we are mainly limited by the network interface rather than by memory copy bandwidth, we worked around this by replacing mmap() with pread() at the cost of an extra copy.
Despite occasional problems, the availability of Linux code has helped us time and again to explore and understand system behavior. 
When appropriate, we improve the kernel and share the changes with the open source community.

7.经验
在建设和部署GFS的过程中,我们经历了各种问题,一些操作和一些技术。
最初,GFS被认为是我们生产系统的后端文件系统。
随着时间的推移,使用演变成包括研发任务。
它开始于对许可和配额等方面的支持,但现在包括这些的基本形式。
虽然生产系统规范和控制严格,但用户有时并不是这样。
需要更多的基础设施来防止用户互相干扰。
我们最大的一些问题是磁盘和Linux相关。
我们的许多磁盘声称对Linux驱动程序,他们支持一系列IDE协议版本,但实际上只是对最近的响应可靠。
由于协议版本非常相似,这些驱动器主要工作,但有时不匹配将导致驱动器和内核对驱动器的状态不同意。
这将由于内核中的问题而静默地破坏数据。
这个问题促使我们使用校验和来检测数据损坏,同时我们修改了内核来处理这些协议不匹配。
早些时候,由于fsync()的成本,Linux 2.2内核出现了一些问题。
其成本与文件的大小成正比,而不是修改部分的大小。
这对我们的大型操作日志是一个问题,特别是在我们实现检查点之前。
我们通过使用同步写入操作了一段时间,最终迁移到Linux 2.4。
另一个Linux问题是一个单一的读写器锁,地址空间中的任何线程在从磁盘(读卡器锁定)中进行访问或修改mmap()调用(写入器锁)中的地址空间时都必须保持。
我们在轻载下看到我们的系统中出现瞬时超时,并且很难看出资源瓶颈或零星的硬件故障。
最终,我们发现这个单一的锁阻止主网络线程将新数据映射到内存,而磁盘线程在以前映射的数据中进行分页。
由于我们主要受网络接口的限制,而不是内存复制带宽限制,我们通过以额外的副本为代价替换了mmap()与pread()。
尽管偶尔出现问题,但是Linux代码的可用性帮助我们一次又一次地探索和理解系统行为。
在适当的情况下,我们改进内核并与开源社区共享这些更改。
RK3399 mali驱动 RK3399 mali驱动:RK3399中使⽤的图形芯⽚为Mali-T860,没有开源3D驱动。rockchip提供的闭源驱动仅⽀持OpenGL ES。 包括2D/3D驱动链接及libmali部分 立即下载

相关推荐

LCD工程师必看:Pixelclock、Mipi Clk计算全解析(附实用公式)

本文为LCD工程师详细解析了像素时钟(Pixelclock)与MIPI时钟(Mipi Clk)的核心计算方法。文章从时序参数构成入手,通过实战公式推导,系统阐述了从屏幕分辨率、刷新率到最终MIPI速率的高效计算链路,并提供了实用的调试思路与排查清单,帮助工程师快速解决画面撕裂、闪烁等常见问题。

weixin_29266679的博客 388

解决rk3288启动SurfaceFlinger 初始化失败问题

最近编译rk3288源码遇到一个奇怪的问题,正常编译使用的Android源码。如果做一些改动之后。再烧录启动失败很是苦恼,主要报下面错误 kernel 失败日志 [ 4.088148] EXT4-fs (mmcblk0p12): recovery complete [ 4.088569] EXT4-fs (mmcblk0p12): mounted filesystem with o...

lb5761311的专栏 8437

避开这些坑!医疗影像数据增强的6个安全操作指南(附PyTorch代码)

本文详细介绍了医疗影像数据增强的六大安全准则,包括解剖结构守恒、密度值物理意义保留和病灶特征保护等关键原则,并提供了PyTorch实战代码。通过具体案例和参数建议,帮助开发者在肺结节检测和MRI分割等医疗AI应用中实现安全有效的数据增强,避免因不当操作导致的诊断误差。

cola5的博客 555

Ubuntu16.04 安装最新 Scrapy 完全攻略

jhczz@vaio:~$ sudo apt-get install python-pip [sudo] password for jhczz: Reading package lists... Done Building dependency tree Reading state information... Done The following package was auto

poeticHadoop的博客 1174

金蝶云星空-协同开发云-安装开发环境

金蝶协同开发云就是不需要每一个开发都在自己的本机安装开发环境,自己安装可容易出错,包括源代码管理也一并解决了,大大减少了开发人员的工作量和降低了上手的难度。

qq_33881408的博客 5596

基于STM32的多路火灾报警系统设计

本文设计了一款基于STM32的多路火灾报警系统,利用多个传感器组合(如烟雾传感器、温度传感器等)进行数据采集与处理,精确判断火灾情况,并及时发出报警信号,保障生命与财产安全。本系统设计了一款基于STM32的多路火灾报警系统,通过结合烟雾传感器和温度传感器,提升了火灾检测的准确性和可靠性。未来,系统可以进一步集成更多传感器,如气体传感器、湿度传感器等,进一步提升火灾报警系统的智能化水平。本系统采用STM32F103单片机作为核心处理单元,结合烟雾传感器、温度传感器和报警模块,实现多通道火灾报警功能。

stm32d1219的博客 2029

(LangGraph教程)0. Welcome to the course!(安装、配置、 LangSmith、Tavily)

欢迎来到 LangChain Academy 的 LangGraph 入门课程!本课程分为六个模块,从基础知识开始,逐步深入到更高级的主题。每个模块都包含讲解关键概念的视频课程,以及与之对应的笔记本。

Dontla的博客 281

【原理图PCB专题】Cadence 17.4版本原理图及PCB 模块复用

在我们设计复杂板卡的时候,往往会遇到一部分电路被反复使用的情况。Cadence允许设计者一开始就将复用模块设计好,以后只要直接调用复用模块就可以直接用以设计更复杂的电路板了。这对于大规模集成设计无疑是非常好的选择,它不仅让设计者不必花费时间在相同模块反复设计上,更有利于电路的模块化设计。

一点硬件 2016

05阶段:NLP自然语言处理基础(2)

本文系统讲解了NLP中的迁移学习,重点介绍了fastText工具的使用及其模型原理。主要内容包括: fastText工具概述:fastText是Facebook开发的NLP工具包,具有文本分类和词向量训练两大功能,优势在于速度快、精度高。其安装简单,通过pip即可完成。 fastText模型架构:基于类似CBOW的三层结构,使用层次softmax和负采样提升效率。层次softmax通过哈夫曼树实现多类别高效分类;负采样通过随机选择部分负样本来降低计算量。 应用实践:详细演示了使用fastText进行文本分类

专注前端开发领域,深耕 Python AI Agent应用开发,热爱探索 Web 与人工智能的前沿技术。 502

手把手教你学Simulink--巴特沃斯滤波器设计与实现仿真

巴特沃斯滤波器的设计目标是拥有尽可能平滑的通带响应,这意味着在通带内信号衰减最小且没有波动。这种类型的滤波器非常适合用于音频处理、生物医学信号处理以及其他需要高保真度的应用场景。根据应用需求的不同,可以选择低通、高通、带通或带阻滤波器。明确你的系统需求,如输入信号类型(正弦波、方波等)、滤波器类型(低通、高通、带通或带阻)、截止频率、滤波器阶数等。假设我们需要设计一个4阶低通巴特沃斯滤波器,其截止频率为1kHz,用来过滤掉高于1kHz的所有频率成分。

MHD0815的博客 450

数据治理路径之辩:从“先治后用”到“边用边治”,企业如何选择最优路径?

数据治理是企业在数智化建设中的核心挑战,主要涉及三种时序策略:先治理后使用、先用后治理和边用边治。先治理后使用强调在数据应用前建立完整的治理框架,适合高合规要求的行业,但可能响应滞后。先用后治理则优先释放数据价值,适合快速变化的业务环境,但可能累积数据质量问题。边用边治寻求动态平衡,通过持续改进实现治理与应用的同步迭代,适合复杂数据环境。技术选型决策矩阵和实施方法论提供了具体的操作指南,建议根据组织特性和业务需求选择适配方案,并通过渐进式演进路径实现治理与业务的共生演进。

石榴姐yyds 405

The Google File System : part4 MASTER OPERATION

4. MASTER OPERATION The master executes all namespace operations.  In addition, it manages chunk replicas throughout the system:  it makes placement decisions, creates new chunks and hence replicas

poeticHadoop的博客 473

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

MISAYAONE的博客 1706

The Google File System : part1 ABSTRACT and INTRODUCTION

ABSTRACT We have designed and implemented the Google File System, a scalable distributed file system for large distributed data-intensive applications.  It provides fault tolerance while running on

poeticHadoop的博客 571

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Bigtable: A Distributed Storage System for Structured Data : part5 Implementation

5 Implementation The Bigtable implementation has three major components:  a library that is linked into every client, one master server, and many tablet servers.  Tablet servers can be dynamically

poeticHadoop的博客 886

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Ubuntu安装显卡时出现的相关问题

1.安装时由于是NVIDIA显卡导致无法进入安装界面,卡在ubuntu图像/启动界面/标致上   解决办法:开机,进入grub画面,按'''e''' 进入编辑开机指令的模式, 找到 quite splash 在后面加上 nomodeset,即 quite splash -- nomodeset。 安装完毕重启后,同样方法进入系统,打开终端输入         sudo gedit /etc/...

weixin_34417200的博客 213

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

[RK3288][Android7.1.2] kernel移植 : rk808+edp

平台:Rockchip 处理器:rk3288 Android版本:Android 7.1.2 内核版本:Linux 4.4.71 第一步:将最接近的dts拷贝一份并重新命名。 rk3288\kernel\arch\arm\boot\dts\rk3288-evb-android-rk818-edp.dts 拷贝一份并命名如下: rk3288\

poeticHadoop的博客 9473

Launcher3 源码阅读之step7:下载Google官方最新的Launcher3源码并导入到Android Studio

第一步:打开Android Studio 开发工具。 第二步:用版本控制器下载相应的源码,这里用到git直接下载Google Android 官方的源码,需要VPN。 第三步:选择git 第四步:根据对应的URL,下载到对应的本地的路径,和下载之后 的文件夹命名。 第五步:点击clone,之后进入到正在下载的界面 第六步:下载之后会提示一个对话

poeticHadoop的博客 4115

关于在使用tensorflow2.0版本时,出现RuntimeError:tf.placeholder() is not compatible with eager execution.的问题

关于在使用tensorflow2.0版本时,出现RuntimeError:tf.placeholder() is not compatible with eager execution.的问题 今天在运行程序:(部分代码) import tensorflow as tf import numpy as np tf.set_random_seed(777) # for reproducibilit...

qq_39777550的博客 2万+

Google六驾马车:MapReduce/Bigtable/GFS和Caffeine/Dremel/Pregel

近来公司的需要,先阅读Google的新旧三驾马车,共六驾马车。 这六篇Google论文真是考验英语水平啊,希望慢慢能啃完。

poeticHadoop的博客 745
上一篇: The Google File System : part6 MEASUREMENTS
下一篇: The Google File System : part8 RELATED WORK and CONCLUSIONS and ACKNOWLEDGMENTS
雙重底
博客等级 码龄12年 28粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值