[
https://issues.apache.org/jira/browse/HDFS-7343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15602545#comment-15602545
]
Wei Zhou commented on HDFS-7343:
--------------------------------
Hi, [~andrew.wang], thanks for the replies!
{quote}
Do you also plan to capturing strace or other information? What's the
performance impact?
{quote}
I did some experiments on the overheads of strace before, it slows down the
performance for over 2X, so it's may not applicable. How about get the file
range data by hook into DataXceiver or DFSInputStream?
{quote}
and if it's a blackbox, it's much harder for admins to use it effectively.
{quote}
Yes, you are right, so we won't make it a black box. The conditions to take an
action or not will be clearly defined. Reasons will be logged when a rule is
executed or skipped. SSM will provide full info for admin to insure that SSM is
still under control.
{quote}
Have we done any prototyping and simulation of the rules engine? There are
workload generators like SWIM which could be useful here.
{quote}
We haven't done prototyping or simulation yet, it's still in the early stage.
Thanks for your advice, I will investigate it.
{quote}
What is the comparative cost-per-byte of SSD vs. HDD? I'm pretty sure it's
greater than 1.36x, meaning we might be better off buying more HDD to get more
throughput. Alternatively, buying more RAM depending on the dataset size.
{quote}
Yes, it's pretty larger than 1.36x, but it may not applicable to using more
HDDs to get the same performance:
The server may not have enough disk slots to accommodate more HDDs. So we keep
the disk number constant (the maximum slots) in the study.
HDD performance (both throughput and latency) decays dramatically compared with
SSD as the load increases. The 1.36X throughput and 1/3 latency over HDD are
measured under a proper load for HDD. The improvement can be much higher.
Big RAM does not help too much for IO intensive workloads just like cases in
the study.
{quote}
This is an example of application-specific tuning for HSM, which is a best
case. If the SSM doesn't correctly recognize the workload pattern, we won't
achieve the full 1.36x improvement.
{quote}
As above, it's a very specific case with static storage policy setting.
{quote}
I'm also unable to find the "com.yahoo.ycsb.workloads.CareWorkload" mentioned,
do you have a reference?
{quote}
Really sorry for that, it's a mistake! It should be
"com.yahoo.ycsb.workloads.CoreWorkload".
{quote}
The NameNode already does this checking, so it seems better for the enforcement
of quotas to be done in one place for consistency.
{quote}
Yes, great suggestion! Thanks!
{quote}
Maybe a user changes some files from ALL_SSD to DISK ...
{quote}
That's a good question! SSM can't handle the case automatically and
transparently, maybe we have to expose an interface for user to notify SSM to
reserve certain amount quota.
{quote}
Sorry to be this direct, but is improving average cluster throughput useful to
end users?
{quote}
Apologize for the misleading caused to you! what I supposed to mean is that
both the efficiency of the whole cluster and workloads. SSM tries to take
actions to optimize the performance of the workload because SSM can not know
whether it's profitable or not in advance. If turned out to be no improvement,
suppose the action taken won't hurts the performance as well or the overhead is
acceptable.
{quote}
I'm sure there's work to be done in the I/O path too, particularly the write
path
{quote}
SSM allows clients to use fast storage actively for write IO as shown in use
case 4. Besides, we are also investigating to improve the write performance
outside SSM. In your opinion, is there anything else for SSM to do to improve
write performance?
{quote}
I'm also not convinced that our average I/O utilization is that high to begin
with.
{quote}
Agreed that average I/O utilization is that high to begin with. Sorry for the
confusing, I'd like to clarify that for utilization we emphasize on the
utilization of fast storage instead of average I/O utilization.
{quote}
Optimistic scheduling and better resource isolation might lead to big
improvements here.
{quote}
Interesting to know this info, I will think about it as well.
{quote}
Adding a metrics collection system for OS-level metrics which needs to be
operated, managed, and deployed.
{quote}
Yes, OS-level metrics will bring difficulties for SSM. To some extent HDFS
statistic info can be used instead, so OS-level metrics is discarded.
{quote}
Potentially a Kafka dependency
{quote}
Based on the discussion with you and [~anu], it's preferred to use the polling
model (poll data directly from NNs and DNs). Do you have any
suggestions/comments on this? I can start the implementation in this way.
{quote}
I recommend stripping down the system to focus on the most important usecases
to start and growing it from there. My preference is for archival usecases.
{quote}
Yes, totally agree with this! I'll get start with this usecase. Thanks for your
suggestion!
> HDFS smart storage management
> -----------------------------
>
> Key: HDFS-7343
> URL: https://issues.apache.org/jira/browse/HDFS-7343
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Kai Zheng
> Assignee: Wei Zhou
> Attachments: HDFS-Smart-Storage-Management.pdf
>
>
> As discussed in HDFS-7285, it would be better to have a comprehensive and
> flexible storage policy engine considering file attributes, metadata, data
> temperature, storage type, EC codec, available hardware capabilities,
> user/application preference and etc.
> Modified the title for re-purpose.
> We'd extend this effort some bit and aim to work on a comprehensive solution
> to provide smart storage management service in order for convenient,
> intelligent and effective utilizing of erasure coding or replicas, HDFS cache
> facility, HSM offering, and all kinds of tools (balancer, mover, disk
> balancer and so on) in a large cluster.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]